hadoop_批量命令腳本&同步文件腳本


1、xcall.sh  批量命令腳本,例:xcall.sh jps ,查看hadoop101~ hadoop104的jps進程

  注意:在執行命令的時候,若是提示沒有這個命令,但是在本機又可以執行,記得在/usr/local/bin 下面創建一個符號連接指向那個命令所在目錄。

#!/bin/bash
#命令參數
params=$@
for((i=101;i<105;i=$i+1))do
    echo ====== hadoop$i  $params ======
    ssh hadoop$i $params
done

2、xsync.sh  集群同步文件,分發文件腳本,例:xsync.sh /usr/loacl/test.sh,在hadoop101~hadoop104上的/usr/local/下同步分發test.sh

#!/bin/bash
path=$1
#判斷是否有參數,若無參數
if [ $# -lt 1 ]
then
  #提示無路徑,沒有參數
  echo "no path"
  #退出
  exit
fi
#得到當前文件名
filename=`basename $path`
#echo $filename
#得到文件路徑,為防止用的相對路徑,所以先cd 當前文件路徑,然后pwd -P 獲得絕對路徑
dir=`dirname $path`
cd $dir
fullpath=`pwd -P`
#echo $fullpath
#得到當前用戶
username=`whoami`
#i可以當作主機名的后綴
for ((i=101;i<105;i=$i+1))
do
  #進行分發命令,后面的主機名根據自己改
  rsync -rvl $fullpath/$filename $username@hadoop$i:$fullpath
  echo "--hadoop$i........SUCCESS" 
done
echo "--SUCCESS"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM