hadoop集群指令碼

2021-10-19 09:43:51 字數 1741 閱讀 3905

#!/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 獲得...