1:修改/etc/hosts文件:添加下面主機
192.168.3.44 hadoop101
192.168.3.43 hadoop102
192.168.3.45 hadoop103
2:編寫xsync文件
#! /bin/bash #1 獲取輸入參數個數,如果沒有參數,直接退出 pcount=$# if [ $pcount -lt 1 ] then echo No Enough Arguement! exit; fi #2. 遍歷集群所有機器 for host in hadoop102 hadoop103 do echo ==================== $host ==================== #3. 遞歸遍歷所有目錄 for file in $@ do #4 判斷文件是否存在 if [ -e $file ] then #5. 獲取全路徑 pdir=$(cd -P $(dirname $file); pwd) echo pdir=$pdir #6. 獲取當前文件的名稱 fname=$(basename $file) echo fname=$fname #7. 通過ssh執行命令:在$host主機上遞歸創建文件夾(如果存在該文件夾) ssh $host "source /etc/profile;mkdir -p $pdir" #8. 遠程同步文件至$host主機的$USER用戶的$pdir文件夾下 rsync -av $pdir/$fname $USER@$host:$pdir else echo $file Does Not Exists! fi done done
3: 修改腳本 xsync 具有執行權限
chmod 777 xsync
4:運行命令: mv xsync /usr/local/bin 目錄下
5:集群分發測試:
xsync zookeeper