轻量集群管理工具PSSH

PSSH 的意思是 Parallel SSH,并行的SSH,很好理解,PSSH 可以让一条命令在多个服务器上同时执行


这就简化了集群的管理工作,例如想查看一下各台服务器现在的负载状况,就可以通过 PSSH 在所有服务器上执行 w 命令


pssh -h hostlist -i w




其中的 hostlist 是一个自定义的文本文件,里面记录着服务器列表信息


// hostlist

root@192.168.31.207:22
root@192.168.31.158:22


PSSH 示例


pssh 是最基本的命令,PSSH 还提供了其他方便的命令,下面看几个示例


  • 从本地拷贝文件到各个服务器


例如 把本机的 /root/fileA 拷贝到各个服务器的 /tmp/fileA


pscp -h hostlist /root/fileA /tmp/fileA




  • 从各个服务器拷贝文件到本机


例如各服务器中都有文件 /home/err_log,想把他们都拿到本机查看,放到本机的 /tmp/test 目录下,并改名为 log


pslurp -h hostlist -L /tmp/test /home/err_log log




到 /tmp/test 下查看




  • 同步目录


例如本机有一个文件夹 /tmp/test,其中有子目录和文件,想把这个文件夹同步到各服务器的 /home


prsync -h hostlist -a -r /tmp/test /home 


执行完成后,到服务器中查看是否同步成功




PSSH 安装


  • 下载


https://pypi.python.org/packages/source/p/pssh/pssh-2.3.1.tar.gz


  • 解压


tar xzvf pssh-2.3.1.tar.gz


  • 安装


cd pssh-2.3.1
python setup.py install


  • 测试


pssh --help


输出帮助信息,说明安装成功


对 192.168.31.207 这台服务器执行 date 命令来测试一下


pssh -H root@192.168.31.207 -A -i date




输入密码后,就显示出了 date 命令的执行结果


  • 配置 SSH 免密码


如果每次都需要输入密码的话,就很麻烦了,可以对各台服务器配置免密码


在本机执行


ssh-keygen

(执行后会有多个输入提示,不用输入任何内容,全部直接回车即可)


ssh-copy-id -i /root/.ssh/id_rsa -p 22 root@192.168.31.207

(重复执行这条命令,改变后面的服务器信息即可)


再次执行 pssh 命令,就不会提示输入密码了


pssh -H root@192.168.31.207 -i date





PSSH 非常简单,但为我们的服务器管理工作提供了很大的便利,从安装到用起来都花费不了1小时,轻便好用

posted @ 2017-03-03 18:26  托马斯布莱克  阅读(342)  评论(0编辑  收藏  举报