1?模板虛擬機環(huán)境準備
1)安裝模板虛擬機澄惊,IP地址192.168.10.100紊馏、主機名稱hadoop100、內(nèi)存4G姻几、硬盤50G
2)hadoop100虛擬機配置要求如下
(1)使用yum安裝需要虛擬機可以正常上網(wǎng)宜狐,yum安裝前可以先測試下虛擬機聯(lián)網(wǎng)情況
[root@hadoop100 ~]# ping www.baidu.com
PING www.baidu.com (14.215.177.39) 56(84) bytes of data.
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 time=8.60 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 time=7.72 ms
(2)安裝epel-release
注:Extra Packages for Enterprise Linux是為“紅帽系”的操作系統(tǒng)提供額外的軟件包,適用于RHEL蛇捌、CentOS和Scientific Linux抚恒。相當于是一個軟件倉庫,大多數(shù)rpm包在官方 repository 中是找不到的)
[root@hadoop100 ~]# yum install -y epel-release
(3)注意:如果Linux安裝的是最小系統(tǒng)版络拌,還需要安裝如下工具俭驮;如果安裝的是Linux桌面標準版,不需要執(zhí)行如下操作
net-tool:工具包集合盒音,包含ifconfig等命令
[root@hadoop100 ~]# yum install -y net-tools
vim:編輯器
[root@hadoop100 ~]# yum install -y vim
2)關(guān)閉防火墻表鳍,關(guān)閉防火墻開機自啟
[root@hadoop100 ~]# systemctl stop firewalld
[root@hadoop100 ~]# systemctl disable firewalld.service
3)創(chuàng)建用戶,并修改用戶的密碼(用戶名自定義)
[root@hadoop100 ~]# useradd student
[root@hadoop100 ~]# passwd 000000
4)配置student用戶具有root權(quán)限祥诽,方便后期加sudo執(zhí)行root權(quán)限的命令
[root@hadoop100 ~]# vim /etc/sudoers
修改/etc/sudoers文件譬圣,在%wheel這行下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ???ALL=(ALL) ????ALL
## Allows people in group wheel to run all commands
%wheel ?ALL=(ALL) ??????ALL
student? ALL=(ALL) ????NOPASSWD:ALL
注意:student 這一行不要直接放到root行下面雄坪,因為所有用戶都屬于wheel組厘熟,你先配置了student具有免密功能,但是程序執(zhí)行到%wheel行時维哈,該功能又被覆蓋回需要密碼绳姨。所以student要放到%wheel這行下面。
5)在/opt目錄下創(chuàng)建文件夾阔挠,并修改所屬主和所屬組
(1)在/opt目錄下創(chuàng)建module飘庄、software文件夾
[root@hadoop100 ~]#mkdir /opt/module
[root@hadoop100 ~]# mkdir /opt/software
(2)修改module、software文件夾的所有者和所屬組均為student用戶?
[root@hadoop100 ~]# chown student:student /opt/module
[root@hadoop100 ~]# chownstudent:student /opt/software
(3)查看module购撼、software文件夾的所有者和所屬組
[root@hadoop100 ~]# cd /opt/
[root@hadoop100 opt]# ll
總用量12
drwxr-xr-x. 2 student? student? 4096 5月 ?28 17:18 module
drwxr-xr-x. 2 root ???root ???4096 9月 ??7 2017 rh
drwxr-xr-x. 2 student? student? 4096 5月 ?28 17:18 software
6)卸載虛擬機自帶的JDK
注意:如果虛擬機是最小化安裝不需要執(zhí)行這一步跪削。
[root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
rpm -qa:查詢所安裝的所有rpm軟件包
grep -i:忽略大小寫
xargs -n1:表示每次只傳遞一個參數(shù)
rpm -e –nodeps:強制卸載軟件
7)重啟虛擬機
[root@hadoop100 ~]# reboot
2.2 克隆虛擬機
1)利用模板機hadoop100,克隆三臺虛擬機:hadoop102 hadoop103 hadoop104
注意:克隆時迂求,要先關(guān)閉hadoop100
2)修改克隆機IP碾盐,以下以hadoop102舉例說明
(1)修改克隆虛擬機的靜態(tài)IP
[root@hadoop100 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
改成
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
NAME="ens33"
IPADDR=192.168.10.102
PREFIX=24
GATEWAY=192.168.10.2
DNS1=192.168.10.2
3)修改克隆機主機名,以下以hadoop102舉例說明
(1)修改主機名稱
[root@hadoop100 ~]# vim /etc/hostname
hadoop102
(2)配置Linux克隆機主機名稱映射hosts文件揩局,打開/etc/hosts
[root@hadoop100 ~]# vim /etc/hosts
添加如下內(nèi)容
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
4)重啟克隆機hadoop102?
[root@hadoop100 ~]# reboot
5)修改windows的主機映射文件(hosts文件)
(a)進入C:\Windows\System32\drivers\etc路徑
(b)打開hosts文件并添加如下內(nèi)容毫玖,然后保存(如果操作系統(tǒng)是window10,先拷貝出來,修改保存以后付枫,再覆蓋即可)
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
2.3 在hadoop102安裝JDK
1)卸載現(xiàn)有JDK(同樣的hadoop102也需要卸載自帶的jdk)
2)用XShell等傳輸工具將JDK包導入到opt目錄下面的software文件夾下面
3)在Linux系統(tǒng)下的opt目錄中查看軟件包是否導入成功
[student@hadoop102~]$?ls /opt/software/
看到如下結(jié)果:
jdk-8u212-linux-x64.tar.gz
4)解壓JDK到/opt/module目錄下
[student@hadoop102 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
5)配置JDK環(huán)境變量
(1)新建/etc/profile.d/my_env.sh文件
[student@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh
添加如下內(nèi)容
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
(2)保存后退出
(3)source一下/etc/profile文件烹玉,讓新的環(huán)境變量PATH生效
[student@hadoop102 ~]$ source /etc/profile
6)測試JDK是否安裝成功
[student@hadoop102 ~]$ java -version
如果能看到以下結(jié)果,則代表Java安裝成功阐滩。
java version "1.8.0_212"
2.4 在hadoop102安裝Hadoop
Hadoop下載地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
1)用XShell文件傳輸工具將hadoop-3.1.3.tar.gz導入到opt目錄下面的software文件夾下面
2)進入到Hadoop安裝包路徑下
[student@hadoop102~]$ cd /opt/software/
3)解壓安裝文件到/opt/module下面
[student@hadoop102software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
4)查看是否解壓成功
[student@hadoop102software]$ ls /opt/module/
hadoop-3.1.3
5)將Hadoop添加到環(huán)境變量
(1)獲取Hadoop安裝路徑
[student@hadoop102hadoop-3.1.3]$ pwd
/opt/module/hadoop-3.1.3
(2)打開/etc/profile.d/my_env.sh文件
[student@hadoop102hadoop-3.1.3]$?sudo vim/etc/profile.d/my_env.sh
在my_env.sh文件末尾添加如下內(nèi)容:(shift+g)
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
保存并退出::wq
(3)讓修改后的文件生效
[student@hadoop102hadoop-3.1.3]$ source /etc/profile
6)測試是否安裝成功
[student@hadoop102hadoop-3.1.3]$ hadoop version
Hadoop 3.1.3
3?完全分布式運行模式(開發(fā)重點)
1)準備3臺客戶機(關(guān)閉防火墻春霍、靜態(tài)IP、主機名稱)
2)安裝JDK
3)配置環(huán)境變量
4)安裝Hadoop
5)配置環(huán)境變量
6)配置集群
7)單點啟動
8)配置ssh
9)群起并測試集群
3.1編寫集群分發(fā)腳本xsync
1)scp(secure copy)安全拷貝
(1)scp定義
scp可以實現(xiàn)服務(wù)器與服務(wù)器之間的數(shù)據(jù)拷貝叶眉。(from?server1?to?server2)
(2)基本語法
scp????-r ???????$pdir/$fname ????????????$user@$host:$pdir/$fname
命令??遞歸????要拷貝的文件路徑/名稱 ??目的地用戶@主機:目的地路徑/名稱
(3)案例實操
前提:在hadoop102址儒、hadoop103、hadoop104都已經(jīng)創(chuàng)建好的/opt/module衅疙、 /opt/software兩個目錄莲趣,并且已經(jīng)把這兩個目錄修改為student :student
[student@hadoop102 ~]$?sudo chown?student:student -R /opt/module
(a)在hadoop102上,將hadoop102中/opt/module/jdk1.8.0_212目錄拷貝到hadoop103上饱溢。
[student@hadoop102?~]$ scp -r /opt/module/jdk1.8.0_212??student@hadoop103:/opt/module
(b)在hadoop103上喧伞,將hadoop102中/opt/module/hadoop-3.1.3目錄拷貝到hadoop103上。
[student@hadoop103?~]$?scp -r student@hadoop102:/opt/module/hadoop-3.1.3 /opt/module/
(c)在hadoop103上操作绩郎,將hadoop102中/opt/module目錄下所有目錄拷貝到hadoop104上潘鲫。
[student@hadoop103?opt]$ scp -r student@hadoop102:/opt/module/*?student@hadoop104:/opt/module
2)rsync遠程同步工具
rsync主要用于備份和鏡像。具有速度快肋杖、避免復制相同內(nèi)容和支持符號鏈接的優(yōu)點溉仑。
rsync和scp區(qū)別:用rsync做文件的復制要比scp的速度快,rsync只對差異文件做更新状植。scp是把所有文件都復制過去浊竟。
基本語法
rsync ???-av ??????$pdir/$fname ????????????$user@$host:$pdir/$fname
命令??選項參數(shù)??要拷貝的文件路徑/名稱 ??目的地用戶@主機:目的地路徑/名稱
選項參數(shù)說明
-a歸檔拷貝
-v顯示復制過程
3)xsync集群分發(fā)腳本
(1)期望腳本在任何路徑都能使用(腳本放在聲明了全局環(huán)境變量的路徑)
[student@hadoop102 ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/student/.local/bin:/home/student/bin:/opt/module/jdk1.8.0_212/bin
(2)腳本實現(xiàn)
????(a)在/home/student/bin目錄下創(chuàng)建xsync文件
[student@hadoop102opt]$?cd /home/student
[student@hadoop102?~]$?mkdir bin
[student@hadoop102?~]$?cd bin
[student@hadoop102?bin]$?vim xsync
在該文件中編寫如下代碼
#!/bin/bash
#1. 判斷參數(shù)個數(shù)
if [ $# -lt 1 ]
then
????echo Not Enough Arguement!
????exit;
fi
#2. 遍歷集群所有機器
for host in hadoop102 hadoop103 hadoop104
do
????echo ==================== ?$host ?====================
#3. 遍歷所有目錄,挨個發(fā)送
????for file in $@
????do
#4. 判斷文件是否存在
????????if [ -e $file ]
????????????then
#5. 獲取父目錄
????????????????pdir=$(cd -P $(dirname $file); pwd)
#6. 獲取當前文件的名稱
????????????????fname=$(basename $file)
????????????????ssh $host "mkdir -p $pdir"
????????????????rsync -av $pdir/$fname $host:$pdir
????????????else
????????????????echo $file does not exists!
????????fi
????done
done
(b)修改腳本 xsync 具有執(zhí)行權(quán)限
[student@hadoop102?bin]$?chmod +x xsync
(c)將腳本復制到/bin中津畸,以便全局調(diào)用
[student@hadoop102?bin]$?sudo cp?xsync /bin/
(d)同步環(huán)境變量配置(root所有者)
[student@hadoop102 ~]$ sudo ./bin/xsync /etc/profile.d/my_env.sh
讓環(huán)境變量生效
[student@hadoop103 bin]$ source /etc/profile
[student@hadoop104 opt]$ source /etc/profile
3.2SSH無密登錄配置
(2)生成公鑰和私鑰
[student@hadoop102 .ssh]$ pwd
/home/student/.ssh
[student@hadoop102 .ssh]$ ssh-keygen -t rsa
然后敲(三個回車)振定,就會生成兩個文件id_rsa(私鑰)、id_rsa.pub(公鑰)
(3)將公鑰拷貝到要免密登錄的目標機器上
[student@hadoop102 .ssh]$ ssh-copy-id hadoop102
[student@hadoop102 .ssh]$ ssh-copy-id hadoop103
[student@hadoop102 .ssh]$ ssh-copy-id hadoop104
注意:
還需要在hadoop103上采用student賬號配置一下無密登錄到hadoop102肉拓、hadoop103后频、hadoop104服務(wù)器上。
還需要在hadoop104上采用student賬號配置一下無密登錄到hadoop102暖途、hadoop103卑惜、hadoop104服務(wù)器上。
還需要在hadoop102上采用root賬號丧肴,配置一下無密登錄到hadoop102残揉、hadoop103胧后、hadoop104芋浮;
3.3集群配置
1)集群部署規(guī)劃
注意:
NameNode和SecondaryNameNode不要安裝在同一臺服務(wù)器
ResourceManager也很消耗內(nèi)存,不要和NameNode、SecondaryNameNode配置在同一臺機器上纸巷。
2)配置文件說明
Hadoop配置文件分兩類:默認配置文件和自定義配置文件镇草,只有用戶想修改某一默認配置值時,才需要修改自定義配置文件瘤旨,更改相應(yīng)屬性值梯啤。
(2)自定義配置文件:
core-site.xml、hdfs-site.xml存哲、yarn-site.xml因宇、mapred-site.xml四個配置文件存放在$HADOOP_HOME/etc/hadoop這個路徑上,用戶可以根據(jù)項目需求重新進行修改配置祟偷。
3)配置集群
(1)核心配置文件
配置core-site.xml
[student@hadoop102 ~]$ cd $HADOOP_HOME/etc/hadoop
[student@hadoop102 hadoop]$ vimcore-site.xml
文件內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定NameNode的地址 -->
????<property>
????????<name>fs.defaultFS</name>
????????<value>hdfs://hadoop102:8020</value>
????</property>
<!-- 指定hadoop數(shù)據(jù)的存儲目錄 -->
????<property>
????????<name>hadoop.tmp.dir</name>
????????<value>/opt/moudle/hadoop-3.1.3/data</value>
????</property>
<!-- 配置HDFS網(wǎng)頁登錄使用的靜態(tài)用戶為student-->
????<property>
????????<name>hadoop.http.staticuser.user</name>
????????<value>student</value>
????</property>
</configuration>
(2)HDFS配置文件
配置hdfs-site.xml
[student@hadoop102 hadoop]$ vimhdfs-site.xml
文件內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- nn web端訪問地址-->
<property>
????????<name>dfs.namenode.http-address</name>
????????<value>hadoop102:9870</value>
????</property>
<!-- 2nn web端訪問地址-->
????<property>
????????<name>dfs.namenode.secondary.http-address</name>
????????<value>hadoop104:9868</value>
????</property>
</configuration>
(3)YARN配置文件
配置yarn-site.xml
[student@hadoop102 hadoop]$ vimyarn-site.xml
文件內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定MR走shuffle -->
????<property>
????????<name>yarn.nodemanager.aux-services</name>
????????<value>mapreduce_shuffle</value>
????</property>
<!-- 指定ResourceManager的地址-->
????<property>
????????<name>yarn.resourcemanager.hostname</name>
????????<value>hadoop103</value>
????</property>
<!-- 環(huán)境變量的繼承 -->
????<property>
????????<name>yarn.nodemanager.env-whitelist</name>
????????<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
????</property>
</configuration>
(4)MapReduce配置文件
配置mapred-site.xml
[student@hadoop102 hadoop]$ vimmapred-site.xml
文件內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定MapReduce程序運行在Yarn上?-->
????<property>
????????<name>mapreduce.framework.name</name>
????????<value>yarn</value>
????</property>
</configuration>
4)在集群上分發(fā)配置好的Hadoop配置文件
[student@hadoop102 hadoop]$ xsync /opt/module/hadoop-3.1.3/etc/hadoop/
5)去103和104上查看文件分發(fā)情況
[student@hadoop103 ~]$ cat /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml
[student@hadoop104 ~]$ cat /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml
3.4?群起集群
1)配置workers
[student@hadoop102 hadoop]$ vim?/opt/module/hadoop-3.1.3/etc/hadoop/workers
在該文件中增加如下內(nèi)容:
hadoop102
hadoop103
hadoop104
注意:該文件中添加的內(nèi)容結(jié)尾不允許有空格察滑,文件中不允許有空行。
同步所有節(jié)點配置文件
[student@hadoop102 hadoop]$ xsync /opt/module/hadoop-3.1.3/etc
2)啟動集群
(1)如果集群是第一次啟動修肠,需要在hadoop102節(jié)點格式化NameNode(注意:格式化NameNode贺辰,會產(chǎn)生新的集群id,導致NameNode和DataNode的集群id不一致嵌施,集群找不到已往數(shù)據(jù)饲化。如果集群在運行過程中報錯,需要重新格式化NameNode的話吗伤,一定要先停止namenode和datanode進程吃靠,并且要刪除所有機器的data和logs目錄,然后再進行格式化足淆。)
[student@hadoop102 hadoop-3.1.3]$ hdfs namenode -format
(2)啟動HDFS
[student@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh
(3)在配置了ResourceManager的節(jié)點(hadoop103)啟動YARN
[student@hadoop103?hadoop-3.1.3]$ sbin/start-yarn.sh
(4)Web端查看HDFS的NameNode
(a)瀏覽器中輸入:http://hadoop102:9870
(b)查看HDFS上存儲的數(shù)據(jù)信息
(5)Web端查看YARN的ResourceManager
(a)瀏覽器中輸入:http://hadoop103:8088
(b)查看YARN上運行的Job信息
3.5配置歷史服務(wù)器
為了查看程序的歷史運行情況撩笆,需要配置一下歷史服務(wù)器。具體配置步驟如下:
1)配置mapred-site.xml
在該文件里面增加如下配置缸浦。
<!-- 歷史服務(wù)器端地址 -->
<property>
????<name>mapreduce.jobhistory.address</name>
????<value>hadoop102:10020</value>
</property>
<!-- 歷史服務(wù)器web端地址 -->
<property>
????<name>mapreduce.jobhistory.webapp.address</name>
????<value>hadoop102:19888</value>
</property>
2)分發(fā)配置
[student@hadoop102 hadoop]$ xsync $HADOOP_HOME/etc/hadoop/mapred-site.xml
3)在hadoop102啟動歷史服務(wù)器
[student@hadoop102 hadoop]$ mapred --daemon starthistoryserver
4)查看歷史服務(wù)器是否啟動
[student@hadoop102 hadoop]$ jps
5)查看JobHistory
http://hadoop102:19888/jobhistory
3.6配置日志的聚集
日志聚集概念:應(yīng)用運行完成以后夕冲,將程序運行日志信息上傳到HDFS系統(tǒng)上。
日志聚集功能好處:可以方便的查看到程序運行詳情裂逐,方便開發(fā)調(diào)試歹鱼。
注意:開啟日志聚集功能,需要重新啟動NodeManager卜高、ResourceManager和HistoryServer弥姻。
開啟日志聚集功能具體步驟如下:
1)配置yarn-site.xml
[student@hadoop102 hadoop]$ vim? yarn-site.xml
在該文件里面增加如下配置。
<!-- 開啟日志聚集功能-->
<property>
????<name>yarn.log-aggregation-enable</name>
????<value>true</value>
</property>
<!-- 設(shè)置日志聚集服務(wù)器地址-->
<property> ?
????<name>yarn.log.server.url</name> ?
????<value>http://hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 設(shè)置日志保留時間為7天 -->
<property>
????<name>yarn.log-aggregation.retain-seconds</name>
????<value>604800</value>
</property>
2)分發(fā)配置
[student@hadoop102 hadoop]$ xsync $HADOOP_HOME/etc/hadoop/yarn-site.xml
3)關(guān)閉NodeManager掺涛、ResourceManager和HistoryServer
[student@hadoop103 hadoop-3.1.3]$ sbin/stop-yarn.sh
[student@hadoop103 hadoop-3.1.3]$?mapred --daemonstop historyserver
4)啟動NodeManager庭敦、ResourceManage和HistoryServer
[student@hadoop103 ~]$ start-yarn.sh
[student@hadoop102 ~]$ mapred --daemonstart historyserver
5)查看日志
歷史服務(wù)器地址
http://hadoop102:19888/jobhistory
3.2.9?編寫Hadoop集群常用腳本
1)Hadoop集群啟停腳本(包含HDFS,Yarn薪缆,Historyserver):myhadoop.sh
[student@hadoop102 ~]$ cd?/home/student/bin
[student@hadoop102 bin]$ vim myhadoop.sh
輸入如下內(nèi)容
#!/bin/bash
if [ $# -lt 1 ]
then
????echo "No Args Input..."
????exit ;
fi
case $1 in
"start")
echo " =================== 啟動 hadoop集群 ==================="
echo " --------------- 啟動 hdfs ---------------"
????????ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
echo " --------------- 啟動 yarn ---------------"
????????ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
echo " --------------- 啟動 historyserver ---------------"
????????ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
echo " =================== 關(guān)閉 hadoop集群 ==================="
echo " --------------- 關(guān)閉 historyserver ---------------"
????????ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
echo " --------------- 關(guān)閉 yarn ---------------"
????????ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
echo " --------------- 關(guān)閉 hdfs ---------------"
????????ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
????echo "Input Args Error..."
;;
esac
保存后退出秧廉,然后賦予腳本執(zhí)行權(quán)限
[student@hadoop102 bin]$ chmod +x myhadoop.sh
2)查看三臺服務(wù)器Java進程腳本:jpsall
[student@hadoop102 ~]$ cd?/home/student/bin
[student@hadoop102 bin]$ vim jpsall
輸入如下內(nèi)容
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
????????echo =============== $host ===============
????????ssh $host jps
done
保存后退出,然后賦予腳本執(zhí)行權(quán)限
[student@hadoop102 bin]$ chmod +x jpsall
3)分發(fā)/home/student/bin目錄,保證自定義腳本在三臺機器上都可以使用
[student@hadoop102 ~]$ xsync /home/student/bin/
4)啟動之前在hadoop102格式化
hdfs namenode -format