集群批量管理工具parallel ssh的安装及使用
最近為了做實驗,需要進行集群的配置,雖然十個節點的集群不算多,但是還是用它來減輕負擔。但在使用的過程中,發現網上雖然有資料,但大多都沒能很好的解決在使用過程中遇到的問題,在此做一記錄,以備后續參考,也望眾位高人指點~
首先說明,我們這里的節點組ip列表為:
?1 172.31.42.68~172.31.42.77?
第一步:前序
為了后面的操作更具連貫性,要在節點之間配置進行無密碼,我們選擇了 .68 的機器為master,其它的節點作為slave,后續沒有特殊說明,操作都是在此節點上進行。
1. 產生公鑰和私鑰
?1 ssh-keygen -t rsa?
在這一過程中直接按回車鍵,將產生本機器的公私鑰對,保存在~/.ssh下。
2. 分發master的公鑰到各個slave節點
1 ip=172.31.47. 2 for i in $(seq 69 77) 3 do 4 ssh $ip$i -C mkdir /home/edmonds/.ssh 5 scp ~/.ssh/id_rsa.pub $ip$i:/home/edmonds/.ssh/authorized_keys 6 done?通過上述兩步,應該已經能夠從master無密碼訪問slave節點了,從slave節點無密碼訪問master節點,等并行ssh工具安裝好后進行配置
第二步:安裝parallel ssh,并進行簡單的配置
1. 從參考2處下載,并安裝:
1 git clone http://code.google.com/p/parallel-ssh/ 2 cd parallel-ssh 3 python setup.py build 4 sudo python setup.py install2. 簡單配置
1 touch ~/slaves_list.txt 2 vim ~/slaves_list.txt 3 #insert following content 4 172.31.47.69 5 172.31.47.70 6 172.31.47.71 7 172.31.47.72 8 172.31.47.73 9 172.31.47.74 10 172.31.47.75 11 172.31.47.76 12 172.31.47.77?第三步:使用
1. ?遠程安裝軟件包
在集群管理過程中,往往會遇到需要安裝軟件包的情況。這里以ubuntu系統為例,我們知道在?sudo apt-get install?的過程中,需要輸入Y來確認安裝,在pssh環境下,需要如下處理:
?1 pssh -h slaves_list.txt -P "sudo apt-get install -y g++"?
?這時,可能由于你的slave機器的網絡或者其他原因,可能會導致超時,這時候pssh客戶端會結束掉進程,所以如果你不能保證很快完成的命令,則指定超時時間,如下
?1 pssh -h slaves_list.txt -t 1200 -P "sudo apt-get install -y libboost-dev"?
這里的1200是以秒為單位計算的,至于其他的參數直接pssh --help吧~
2.遠程多命令執行?
有時需要進行多個命令的操作,為了更加明晰,可以如下:
?1 pssh -h slaves_list.txt -t 12000 -P "cd ~/soft/tbb43_20141204oss/build;chmod +x *.sh;sh generate_tbbvars.sh;sh tbbvars.sh"?
在使用過程中主要就遇到上述兩個問題,一是在節點機器上需要輸入操作怎么辦,用-xxx來指定,一是多命令如何一次性指派完成。
至于其他的常用工具如pscp,psync,pslurp,pnuke都很類似,這里不再舉例,有需要的看看幫助就搞定啦~??
?
Reference:
http://www.forzw.com/archives/671
https://code.google.com/p/parallel-ssh/
posted on 2014-12-17 18:56 物感世界 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/edmonds/p/4170040.html
總結
以上是生活随笔為你收集整理的集群批量管理工具parallel ssh的安装及使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 子界类型的定义和应用
- 下一篇: iOS-NSThread编程详解