首页 > 代码库 > 集群批量管理工具parallel ssh的安装及使用

集群批量管理工具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 do4 ssh $ip$i -C mkdir /home/edmonds/.ssh5 scp ~/.ssh/id_rsa.pub $ip$i:/home/edmonds/.ssh/authorized_keys6 done

 通过上述两步,应该已经能够从master无密码访问slave节点了,从slave节点无密码访问master节点,等并行ssh工具安装好后进行配置

第二步:安装parallel ssh,并进行简单的配置

1. 从参考2处下载,并安装:

1 git clone http://code.google.com/p/parallel-ssh/2 cd parallel-ssh3 python setup.py build4 sudo python setup.py install

2. 简单配置

 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.7410 172.31.47.7511 172.31.47.7612 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/

集群批量管理工具parallel ssh的安装及使用