#!/bin/bash
#驗證引數
if(($#!=1))
then
echo 請輸入要分發的單個檔案!
exit;fi
#獲取分發檔案的絕對路徑
dirpath=
$(cd `dirname $1`;
pwd -p)
filename=
`basename $1`
echo 要分發的檔案的路徑是:$dirpath/$filename
#獲取當前的使用者名稱
user=
$(whoami
)#迴圈執行rsync分發檔案到集群的每條機器
for((i=
101;i<=
103;i++
))do
echo ---------------------hadoop$i---------------------
rsync -rvlt $dirpath/$filename
$user@hadoop$i:
$dirpath
done
#!/bin/bash
#在集群的所有機器上批量執行同一條命令
if(($#==0))
then
echo 請輸入您要操作的命令!
exit
fiecho 要執行的命令是$*
#迴圈執行此命令
for((i=
101;i<=
103;i++
))do
echo ---------------------hadoop$i-----------------
ssh hadoop$i
$*done
#!/bin/bash
#hadoop集群的一鍵啟動指令碼
if(($#!=1))
then
echo
'請輸入start|stop引數!'
exit;fi
#只允許傳入start和stop引數if[
$1= start ]||[
$1= stop ]
then
$1-dfs.sh
$1-yarn.sh
ssh hadoop101 mr-jobhistory-daemon.sh $1 historyserver
else
echo
'請輸入start|stop引數!'
fi
start-all.sh群起命令也可以,但是用群起命令系統會提示你這個已經過時了,建議分開啟動。
#!/bin/bash
#在hadoop102和hadoop103上同步日期為指定的日期
if(($#==0))
then
echo 請輸入要修改的時間!
exit;fi
#修改系統時間
for i in hadoop102 hadoop103
doecho --------------同步$i的時間-------------
ssh$isudo
date -s "'$@'"
done
#!/bin/bash
#將集群的時間都同步為最新的時間
xcall sudo ntpdate -u ntp1.aliyun.com
hadoop集群關機shell指令碼
該shell指令碼僅學習使用,在網路中執行有可能有洩露密碼的風險。usr bin env bash ssh t hadoop201 echo 123456 sudo s shutdown h now ssh t hadoop202 echo 123456 sudo s shutdown h now ...
群起hadoop集群指令碼(開啟,關閉)
通過執行shell指令碼語句,實現群起hadoop集群 1.start.sh bin bash echo 正在開啟集群服務 echo 正在開啟namenode節點 ssh admin hadoop senior01.itguigu.com opt modules hadoop 2.5.0 cdh5....
hadoop集群內檔案傳輸指令碼
在hadoop集群內,為方便修改每個裝置的檔案,編寫如下指令碼。作用 將在乙個裝置下,實現迴圈複製檔案到所有節點的相同目錄下。指令碼原始碼 bin bash pccount if pccount 1 then echo no args exit fip1 1 fname basename p1 獲得...