Linux海王 之 pdsh (并行管理工具)
pdsh
是一个多线程
远程shell客户机
,它在多个远程主机
上并行执行命令
pdsh
可以使用几种不同的远程shell服务
,包括标准的rsh
、Kerberos IV
和ssh
- 在使用
pdsh
之前,必须保证
本地主机和要管理远程主机之间的单向信任
pdsh
还附带了pdcp
命令,该命令可以将本地文件批量复制
到远程的多台主机上,这在大规模的文件分发
环境下非常有用- github:
https://github.com/grondo/pdsh
安装
CentOS
系列可以使用yum安装,pdsh
需要epel
源
Linux:~ # wget https://github.com/grondo/pdsh/archive/pdsh-2.31.tar.gz
Linux:~ # tar xf pdsh-2.31.tar.gz -C /usr/local/src/
Linux:~ # cd /usr/local/src/pdsh-pdsh-2.31/
Linux:/usr/local/src/pdsh-pdsh-2.31 # ./configure \
--prefix=/usr/local/pdsh \
--with-ssh \
--with-machines=/usr/local/pdsh/machines \
--with-dshgroups=/usr/local/pdsh/group \
--with-rcmd-rank-list=ssh \
--with-exec && \
make && \
make install
--with-ssh
ssh模块(支持ssh)--with-rcmd-rank-list=ssh
指定默认模式为ssh--with-dshgroups=
指定默认主机组路径--with-machines=
指定默认主机列表- 在该文件中写入主机地址(或主机名,需要在hosts中写好主机解析),每行一个
- 存在machines文件,使用
pdsh
执行时若不指定主机,则默认对machines文件中所有主机执行该命令
--with-exec
exec模块- 其他模块参数可以在
pdsh-pdsh-2.31
目录下使用./configure --help
命令查看
Linux:~ # ll /usr/local/pdsh/bin/
total 516
-rwxr-xr-x 1 root root 8638 Jan 29 22:15 dshbak
-rwxr-xr-x 1 root root 171664 Jan 29 22:15 pdcp
-rwxr-xr-x 1 root root 171664 Jan 29 22:15 pdsh
-rwxr-xr-x 1 root root 171664 Jan 29 22:15 rpdcp
Linux:~ # echo 'export PATH=/usr/local/pdsh/bin:$PATH' >> /etc/profile
Linux:~ # source /etc/profile
"将pdsh的所有命令追加到环境变量中"
Linux:~ # pdsh -V
pdsh-2.31
rcmd modules: ssh,rsh,exec (default: ssh)
misc modules: machines,dshgroup
使用
- 语法:
pdsh <参数> <需要并行执行的命令>
- 如果只输入前面两部分,回车后可进入pdsh交互式命令行(若是编译安装需要启用
--with-readline
),再输入并行执行的命令部分
- 如果只输入前面两部分,回车后可进入pdsh交互式命令行(若是编译安装需要启用
- 常用参数:
-w
指定主机-x
排除指定的主机- 目标主机可以使用Ip地址或主机名(确保该主机名已经在
/etc/hosts
中存在解析) - 多个主机之间可以使用逗号分隔,可重复使用该参数指定多个主机;可以使用简单的正则
- 目标主机可以使用Ip地址或主机名(确保该主机名已经在
-g
指定主机组-G
排除指定主机组-l
目标主机的用户名- 如果不指定用户名,默认以当前用户名作为在目标主机上执行命令的用户名
-N
用来关闭目标主机所返回值前的主机名显示
示例
-w 指定主机
Linux:~ # pdsh -w ssh:192.168.72.12,192.168.72.13,192.168.72.14 date
192.168.72.12: Sun Jan 31 12:35:36 CST 2021
192.168.72.14: Sun Jan 31 12:35:36 CST 2021
192.168.72.13: Sun Jan 31 12:35:36 CST 2021
"pdsh -w ssh:192.168.72.[12-14] date 也可以"
-l 指定用户
Linux:~ # pdsh -w ssh:192.168.72.[12-14] -l linux date
192.168.72.12: Sun Jan 31 12:36:32 CST 2021
192.168.72.13: Sun Jan 31 12:36:32 CST 2021
192.168.72.14: Sun Jan 31 12:36:32 CST 2021
-g指定用户组
Linux:~ # mkdir /usr/local/pdsh/group
Linux:~ # cat > /usr/local/pdsh/group/test1 <<EOF
192.168.72.12
192.168.72.13
192.168.72.14
EOF
Linux:~ # pdsh -g test1 'uname -r'
192.168.72.12: 4.4.73-5-default
192.168.72.14: 4.4.73-5-default
192.168.72.13: 4.4.73-5-default
主机列表
Linux:~ # cat > /usr/local/pdsh/machines <<EOF
192.168.72.12
192.168.72.13
192.168.72.14
EOF
Linux:~ # pdsh -a uptime
192.168.72.12: 12:37pm up 0:08, 2 users, load average: 0.08, 0.13, 0.09
192.168.72.13: 12:37pm up 0:07, 1 user, load average: 0.12, 0.05, 0.01
192.168.72.14: 12:37pm up 0:07, 1 user, load average: 0.00, 0.01, 0.00
交互式界面
"有exec模块即可,或者readline模块"
Linux:~ # pdsh -a
pdsh> date
192.168.72.14: Sun Jan 31 12:38:05 CST 2021
192.168.72.13: Sun Jan 31 12:38:05 CST 2021
192.168.72.12: Sun Jan 31 12:38:05 CST 2021
pdsh> whoami
192.168.72.12: root
192.168.72.14: root
192.168.72.13: root
pdsh> exit "退出交互式界面"
Linux海王 之 pdsh (并行管理工具)的更多相关文章
- Linux环境下搭建禅道管理工具-包含软件资源
Linux环境下搭建禅道管理工具 1:百度云盘下载: 禅道--链接: https://pan.baidu.com/s/1Stu7nOZVIPO5TnpJWjWtiQ 提取码:dnik CentOs操 ...
- 并行管理工具——pdsh
1. pdsh安装2. pdsh常规使用2.1 pdsh2.2 pdcp 并行管理的方式有很多种: 命令行 一般是for循环 脚本 一般是expect+ssh等自编辑脚本 工具 pssh,pdsh,m ...
- Linux下取代top的进程管理工具 htop
一.htop 简介 This is htop, an interactive process viewer for Linux. It is a text-mode application (for ...
- linux(centos)下安装supervisor进程管理工具
在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示: 上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署, ...
- Linux服务器中安装python包管理工具pip
pip是python的包管理工具,python的强大之处除了在于语法的简练,还有就是对众多的库支持了. 1.下载pip包管理工具 链接地址:https://pypi.python.org/pypi/p ...
- 搭建KVM环境——07 带GUI的Linux上安装KVM图形界面管理工具
清空yum源缓存,并查看yun源 [root@CentOS2 ~]# yum clean all Loaded plugins: fastestmirror, langpacks Cleaning r ...
- Linux下KVM的图形界面管理工具(virt-manager)(桌面版)
背景: virt-manager是用于管理KVM虚拟环境的主要工具,virt-manager默认设置下需要使用root用户才能够使用该工具.当你想在KVM hypervisor服务器上托管虚拟机,由最 ...
- linux CentOS6.5 安装SVN & 可视化管理工具iF.SVNAdmin
转:http://tanghenxin.lofter.com/post/1cc667b3_5ac50dc 实际系统环境: CentOS 6.5 x64 一.安装Apache 通常系统都已经装好了,但我 ...
- Linux下KVM的图形界面管理工具(WebVirtMgr)(Web版)
WebVirtMgr面板 截图 介绍 WebVirtMgr是一个基于libvirt的Web界面,用于管理虚拟机.它允许您创建和配置新域,并调整域的资源分配.VNC查看器为来宾域提供完整的图形控制台.K ...
随机推荐
- Java实现163邮箱发送邮件到QQ邮箱
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6812973124141711876/ 先创建一个maven的普通项目 添加依赖,附在文档末尾 其中几个注意的地方 ...
- 基于Apache Hudi + Flink的亿级数据入湖实践
本次分享分为5个部分介绍Apache Hudi的应用与实践 实时数据落地需求演进 基于Spark+Hudi的实时数据落地应用实践 基于Flink自定义实时数据落地实践 基于Flink+Hudi的应用实 ...
- Ubuntu18.04 内核升级
查看当前版本 在终端输入以下命令并回车 uname -sr 可以发现当前内核为 Linux 4.15.0-88-generic 查看目前最新的稳定内核 访问 The Linux Kernel A ...
- CSS-选择器的使用
* 默认选择器,这个符号能匹配所有样式,所以如果没有额外定义就默认为这个样式,一般用于消除页面与浏览器的内外边距 <style> *{ padding:0; // 所有标签默认消除内边距 ...
- 【PTA】5-2 下列程序读入时间数值,将其加1秒后输出,时间格式为:hh: mm: ss,即“小时:分钟:秒”,当小时等于24小时,置为0。
5-2 下列程序读入时间数值,将其加1秒后输出,时间格式为:hh: mm: ss,即"小时:分钟:秒",当小时等于24小时,置为0. #include <stdio.h> ...
- 《剑指offer》面试题36. 二叉搜索树与双向链表
问题描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜 ...
- JSON串、JSON对象、Java对象的相互转换2
对象类型转换: 1.Java对象-->JSON对象2.Java对象-->JSON字符串 3.JSON对象-->JSON字符串 4.JSON对象-->Java对象 5.JSON字 ...
- unity3d百度语音合成mp3流转换byte[]失败
using (Stream stream = response.GetResponseStream()) { buffer2 = new byte[stream ...
- gin框架中HTTP请求和参数的解析
1. 方法一: 通用的处理方法---Handle package main import ( "fmt" "github.com/gin-gonic/gin" ...
- golang中的25个关键字
Go 语言中会使用到的 25 个关键字或保留字: 1. 程序声明 import 导入 package 包 2. 程序实体声明和定义 chan 通道 var 变量声明 const 常量声明 func 用 ...