自动化部署工具pssh入门教程

原创 2015年11月18日 22:59:02

1.简述

pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的。使用是必须在各个服务器上配置好密钥认证访问。其实在自动化部署工具世界里有不少的出名的家伙,比如puppet、chef、ansible、slatstack等等以及本文要介绍的pssh。总的来说,比较方便使用的,我总觉得就ansible(有时间在贴上这个工具的入门教程)以及pssh适合我这种水平的!部署简单!操作简单!下面就让我们看看究竟有多简单!

2.平台信息

假设我们的有两台主机并且都能连接网络,因为等下要下载pssh的安装包,拿本次搭建环境的信息为例,主机系统都为Centos7.1,如下:

IP                         主机名                       备注

   10.63.39.38                lijiaze-master           本地主机(或者说控制端)

   10.63.39.39                lijiaze-node              远程主机(或者说受控端)

3.部署流程

3.1 下载pssh的安装包

#  在/home目录下新建一个目录用来存放pssh软件压缩包,并进入该该目录。

<span style="font-family: arial;">[root@lijiaze-master:~] # mkdir -p /home/pssh</span>
<span style="font-family:arial;">[root@lijiaze-master:~] # cd /home/pssh</span>

#  下载v2.3.1版本的pssh软件压缩包

#  wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz

3.2 安装pssh

#  解压安装包

#  tar -zxvf pssh-2.3.1.tar.gz

#  进入软件包pssh-2.3.1目录

# cd pssh-2.3.1

# 安装pssh

# python setup.py install 
这样就安装完pssh,so easy!下面我们再来测试一下能不能用!

4.简单测试

4.1 想要对远程主机进行控制,必须要将本地主机的密钥传到远程主机上。所以首先生成本地主机的密钥,然后传送到远程主机上。

# 本地主机生成密钥(注意中途不需要输入任何东西,一路按回车键即可)

[root@lijiaze-master:~] # ssh-keygen
# 将刚刚生成的密钥传送到远程主机(这时输入yes以及10.63.39.38这台主机的root用户的密码即可)

[root@lijiaze-master:~] # ssh-copy-id -i root@10.63.39.38
4.2 经过了4.1的操作,我们就可以对远程主机进行操作了,当远程主机很多时,比如我们公司产品上线前进行测试时,有几百台主机要进行控制,这时我就会将这些主机IP弄成一个txt文本,当然,一台也是可以的!所以为了方便,在这里统一用文本形式。

# 新建一个txt文本,并将10.63.39.39这个IP号添加到这个文本里

[root@lijiaze-master:~] # touch lijiaze.txt<pre name="code" class="plain">[root@lijiaze-master:~] # echo 10.63.39.39 >> lijiaze.txt

这样我们就可以使用pssh对远程主机进行控制了!pssh有五个常用的命令,下面分别一一简述。

1.pssh 多主机上并行执行命令,比如我要查看一下远程主机root目录下有那些文件,就可以用下面的命令

[root@lijiaze-master:~] # pssh -h lijiaze.txt -i 'ls -al'
2.pscp 把文件并行地复制到多个主机上,比如在我的root目录下有一个lijiaze.tar.gz的压缩包,要传到远程主机的/home/lijiaze目录下,就可以使用下面的命令

[root@lijiaze-master:~] # pscp -h lijiaze.txt  /root/lijiaze.tar.gz   /home/lijiaze
3.pslurp 从多台远程机器拷贝文件到本地,和pscp刚好相反。比如在远程主机的root目录下有一个lijiaze.sh脚本要传回本地主机/home/lijiaze目录下,就可以使用下面的命令

[root@lijiaze-master:~] # pslurp -r -h lijiaze.txt /root/lijiaze.sh  /home/lijiaze  /home/lijiaze
4.pnuke 并行在远程主机杀进程,比如在远程主机有一个docker服务,我想把它给终止掉,就可以使用下面的命令

[root@lijiaze-master:~] # pnuke -h lijiaze.txt docker

5.prsync 使用rsync协议从本地计算机同步到远程主机,这个很少用到,至少我还没用过多少次,所以有需要的请自行看帮助文档。

5.后记

通过上述的简述以及部署流程和使用教程是不是觉得原本很高大上的自动化部署工具也是so easy呢!好了,不知道你们有没有发现一个很大的问题,那就是我要控制几台,上百台甚至上千台主机时,传送密钥是不是很麻烦呢?不要着急!其实只有远程主机的密码是相同的话(其实在实际应用场景中初始的密码一般都是一样),可以写个脚本很快就解决这个问题了,这个留到下一篇博客再进行阐述了!










pssh的安装配置

pssh是python实现的集群批量命令工具,非常方便集群管理。同时其还带有pscp等功能 1、先下载pssh文件: wget  ‘http://code.google.com/p/paralle...
  • andgot
  • andgot
  • 2015年03月28日 21:13
  • 973

pssh安装与使用

pssh http://code.google.com/p/parallel-ssh/ PSSH provides parallel versions of OpenSSH and related ...

并行运维工具pssh的安装及实战应用

pssh全称是parallel-ssh,是一个Python编写的可以并发在多台服务器上批量执行命令的工具, 它支持文件并行复制、远程并行执行命令、杀掉远程主机上的进程等。 前提:使用pssh工具包...

Centos6下通过pssh并发执行命令

环境说明 Centos 6.8 pssh 2.3.1 安装说明 因为最近在搭建ovirt虚拟化管理平台,在创建vm后,需要对vm进行压力测试,所以需要通过pssh来进行并发对多...
  • bobpen
  • bobpen
  • 2016年09月23日 15:18
  • 497

pssh使用指南

pssh 用于同时管理多台服务器,在安装Hadoop时可以同步Hadoop已经配置好的安装文件,十分方便,本文将介绍pssh的基本命令和使用方法。由于pssh基于python实现的,所以在安装之前务必...

这21个自动化部署工具,你都知道吗?

作者:Darren Perucci 翻译:袁思思 来源:DZone 原文链接:https://dzone.com/articles/21-automated-deployment-t...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

pssh

== 简介 == pssh是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认...

Python中单线程、多线程和多进程的效率对比实验

python的多进程性能要明显优于多线程,因为cpython的GIL对性能做了约束。 Python是运行在解释器中的语言,查找资料知道,python中有一个全局锁(GIL),在使用多进程(Thre...
  • Jailman
  • Jailman
  • 2017年11月02日 18:31
  • 71

Grafana-基本概念

前言只有不断的去逼迫自己才可以尝到最美味的果实!以下内容是本人手动翻译Grafana的官网,后续我将不断分享成果,人人为我,我为人人。文件是从自低向上进行介绍。最小面的是最为核心的数据源 图像可以存...
  • dtttyc
  • dtttyc
  • 2017年08月06日 19:19
  • 529
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自动化部署工具pssh入门教程
举报原因:
原因补充:

(最多只允许输入30个字)