由於需要安裝hadoop集群,有10台機器需要安裝,一開始打算用SCP複製,後來覺得不可接受(實際現場可能數倍的機器集群,就是10台也不想乾)。後來在網上找了,發現了clustershell和pssh這兩個工具。這兩個工具隨便用其中一個就可以了。 環境說明:centos6.5機器10台 需求:確定一... ...
由於需要安裝hadoop集群,有10台機器需要安裝,一開始打算用SCP複製,後來覺得不可接受(實際現場可能數倍的機器集群,就是10台也不想乾)。後來在網上找了,發現了clustershell和pssh這兩個工具。這兩個工具隨便用其中一個就可以了。
環境說明:centos6.5機器10台
需求:確定一個主機A,通過在A上執行命令即可同步在其他節點上執行。
前提:首先配置好A對各個機器的密碼SSH登陸。
pssh參考網址:http://www.linuxidc.com/Linux/2011-12/49635p2.htm
實現,以pssh為例(需要python環境,也需要setuptools):
1.安裝
# tar zxvf pssh-2.3.1.tar.gz
# python ./pssh-2.3.1/setup.py install
# cd ./pssh-2.3.1/bin/
2.建立一個txt文件,這邊以flume.txt為名,裡面放各節點IP,每一行一個
# ./pssh -P -h ~/flume.txt uptime //測試,查看各節點機器的啟動時間
使用:
3.批量從遠程機器複製文件到本地
./pslurp -r -h ./host/test.txt -L /usr/local/software /home/hadoop/software software
解釋:-L 本地目錄 ,/home/hadoop/software 為遠程機器目錄,software為重命名目錄。
假設遠程機器有兩個A,B,那麼複製過來的文件目錄為:usr/local/software/A/software和usr/local/software/B/software
4.批量複製本地文件到遠程機器
./pscp -r -h ./host/all.txt ../../software /usr/local/software
5.批量執行命令(以新建目錄為例,如果目錄已經存在,則報錯)
./pssh -h ./host/all.txt -P mkdir /usr/local/app