- 浏览: 544885 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (251)
- UML/RUP/软件工程 (0)
- DDD:领域驱动设计 (1)
- IaaS/Paas/SaaS (1)
- Hadoop/YARN (10)
- PBDP项目 (2)
- OSGi-基础 (7)
- OSGi-Aries (2)
- OSGi-SpringDM (32)
- Oracle/MySQL/SS (8)
- Felix/Equinox/Bnd (14)
- Virgo Server/Gemini (7)
- Weblogic/JBoss/Tomcat (10)
- ActiveMQ (14)
- Camel (1)
- Spring Roo/Eclipse (7)
- Java/JSP/JSF (10)
- Maven (19)
- ESB-Mule (1)
- ESB-ServiceMix (18)
- SOA/SCA/SDO (12)
- WebService/RESTful (17)
- JS/jQuery/ExtJS (4)
- Spring/JPA/MVC (15)
- SpringSecurity (5)
- BPM/jBPM (3)
- Hudson/SVN/CI (0)
- LinuxOS/虚拟化 (25)
- Office/OpenOffice (1)
- 项目管理 (5)
- POI/jFreeChart (1)
最新评论
-
panamera:
请问JMS Transport 发布的webservice 是 ...
CXF 提供的Service Transport-JMS Transpor -
jianyi296:
where is attachment.
CXF WebService Dynamic Client -
hj01kkk:
您好,我用jdbc-user-service为什么每次验证时都 ...
SpringSecurity笔记3-Authenticating Users:Authenticaton Strategy -
wufenglin1231:
你好,我在实现Mapping exceptions to re ...
RESTful 异常处理 -
xchd:
[echo] Project: common
[echo ...
Hive安装配置学习笔记
ClusterSSH、pdsh和mussh管理集群系统
- 博客分类:
- OSGi-Aries
- LinuxOS/虚拟化
转自:http://linux.chinaunix.net/ebook/doc/2009/02/11/1061339.shtml
当我们管理数以十计或者更多的集群系统时,往往需要在每台机器上执行同样的命令,或者拷贝同样的文件,
这时,我们就可以考虑使用三个小工具,分别是pdsh、ClusterSSH和mussh。
在Fedora系统上,我们可以直接通过yum安装这三个软件。
yum install clusterssh pdsh pdsh-rcmd-ssh pdsh-rcmd-rsh mussh
如果是其他Linux系统,也可以到
http://clusterssh.sourceforge.net 、 http://sourceforge.net/projects/pdsh和
http://www.sourceforge.net/projects/mussh下载相应的软件。
无论是clusterssh还是pdsh或mussh,我们都应该相应的设置无密码登录目标系统,这方面的内容,有很
多介绍,本文不再提及。
1. pdsh
首先介绍一下pdsh,首先必须在管理节点和每台目标机器上都安装pdsh软件包。pdsh可以在指定的一组机
器上执行同一个命令。例如需要管理下列机器,机器名分别为node211,node232,node233,node234,
node240。命令格式如下:
pdsh -w [SSH_OR_RSH]:USERNAME@node[211,232-234,240] [COMMAND]
其中大写的部分应该被实际内容所取代。例如希望以maluyao用户的身份,在每台机器上执行hostname命令,
使用ssh方法进行连接,则结果如下:
[tt@node111 ~]$ pdsh -w ssh:maluyao@node[211,232-234,240] hostname
node240: node240.hn.org
node233: node233.hn.org
node234: node234.hn.org
node232: node232.hn.org
node211: node211.hn.org
这样可以非常清楚的看到每台机器上执行的结果。
另外一些时候,我们可以希望在每台机器上执行一组也许不确定的命令,这时我们可以省略[COMMAND]部分,
用法如下:
[tt@node111 ~]$ pdsh -w ssh:maluyao@node[211,232-234,240]
pdsh> hostname
node240: node240.hn.org
node234: node234.hn.org
node233: node233.hn.org
node232: node232.hn.org
node211: node211.hn.org
pdsh> date
node234: Mon Oct 27 14:59:37 CST 2008
node240: Mon Oct 27 14:59:37 CST 2008
node232: Mon Oct 27 14:59:37 CST 2008
node233: Mon Oct 27 14:59:37 CST 2008
node211: Mon Oct 27 14:59:38 CST 2008
pdsh> exit
pdsh软件包还自带了pdcp命令,可以将文件拷贝到一组机器上,用法如下:
pdsh -w [SSH_OR_RSH]:[USERNAME]@node[211,232-234,240] SOURCE_FILE DESTINATION
想将文件x.org拷贝到上述机器的/home/maluyao/当中,可执行下列命令:
pdcp -w ssh:maluyao@node[211,232-234,240] x.org /home/maluyao/
如果要拷贝的是目录,则需使用-r参数,例如将目录abc拷贝到/home/maluyao,执行命令如下:
pdcp -r -w ssh:maluyao@node[211,232-234,240] abc /home/maluyao/
2. ClusterSSHclusterssh是另外一个集群管理软件,可以同时打开多个窗口进行操作。例如最简单的用法可能
如下:
cssh root@node211 root@node232 root@node234
不过当管理数以十计或数以百计机器的时候,在命令行就很难添加如此众多的机器名了。这时的办法是使用一
个配置文件进行管理。首先生成一个配置文件,命令为:
cssh -u > ~/.csshrc
这个~/.csshrc文件里可以定义如干个组,例如在此文件结尾处添加
clusters=ibm hp inspur
ibm=root@node211 root@node232 root@node233 root@node234 root@node240
hp=root@hp211 root@hp232 root@hp233 root@hp234 root@hp240
inspur=root@inspur211 root@inspur232 root@inspur233 root@inspur234 root@inspur240
这样就可以使用cssh hp 或cssh ibm来连接指定的群组了。clusterssh的不便之处在于,管理机器越多,则
打开的窗口越多,如果屏幕太小,就非常难受了。
3. musshmussh也是Fedora系统自带的一款管理多主机的ssh软件,和上述两种软件类似,可以互为补充。
mussh可以让你把本地的脚本,在多台ssh目的机器上执行。格式如下
mussh [OPTIONS] <-h host.. | -H hostfile> [-c cmd] [-C scriptfile]
例如想在多个机器上执行hostname命令,可以执行如下命令:
[tt@node111 ~]$ mussh -h root@node211 root@node212 -c hostname
root@node211: node211.hn.org
root@node212: node212.hn.org
如果想执行本地脚本test.sh,可以执行如下命令:
[tt@node111 ~]$ mussh -h root@node211 root@node212 -C test.sh
另外还可以通过建立hostfile的方式,使得命令执行时更为简化,例如在hostfile01.txt中写入:
[email=root@node211]root@node211[/email] [email=root@node212]root@node212[/email]
[tt@node111 ~]$ mussh -H hostfile01.txt -c hostname
root@node211: node211.hn.org
root@node212: node212.hn.org
笔者日常负责管理不到两百台Linux系统,配合一些监控软件,感觉有上述几个管理工具,基本就足够了。完
全没有必要使用商业管理软件。
发表评论
-
解决Linux下java.lang.UnsatisfiedLinkError问题
2013-06-19 15:52 3197在基于Linux系统开发时,若牵扯到引用第三方产品的本地库 ... -
CentOS下开机启动查看管理命令:chkconfig用法
2013-01-24 18:37 2242CentOS下开机启动查看管理的命令是:chkconfig1. ... -
YUM只下载rpm文件而不安装
2013-01-18 17:59 1609参考:http://www.issacy.com/arch ... -
使用YUM下载源码
2013-01-18 10:18 2114使用YUM 下载源码 RHEL/CentOS/Fedora ... -
Linux系统中scp命令的用法
2012-12-01 18:30 1241scp是 secure copy的缩写, scp是linux ... -
Linux启动时执行命令
2012-12-01 18:29 14251. Linux 启动顺序: (1)BIOS自检 ... -
Linux下查看程序端口占用情况
2012-12-01 18:29 871方法一: ps -aux | grep " ... -
Linux rpm 命令参数使用详解
2012-12-01 18:28 1918Linux rpm 命令参数使用 ... -
CentOS 6.3更新源配置
2012-12-01 18:27 15001. #cd /etc/yum.repos.d 2. ... -
RHEL与CentOS学习笔记
2012-10-21 18:02 17811. 关闭防火墙 (1) service iptab ... -
程序、进程、线程的简单比较
2012-08-23 14:21 1464我对于线程, ... -
Linux的磁盘管理方式及系统安装分区
2012-05-15 18:48 12441. 什么是挂载? 在Linux中,挂载(mou ... -
Linux/WindowsOS之间远程访问
2012-05-11 13:54 1127参考:http://www.cnblogs.com/xdz ... -
Ubuntu保护眼睛的背景颜色设置方法
2012-05-11 13:42 2433设置步骤: 桌面右键菜单-->更改桌面背景-- ... -
Ubuntu下VMware安装配置卸载
2012-05-11 09:54 2521参考:http://nkevin.blog.163.com/b ... -
CentOS安装配置
2012-05-10 18:30 1450CentOS: Community Enterprise Op ... -
Aries-Blueprint理论与实战
2012-05-03 11:44 1830Blueprint提供了一个针对OSGi的依赖 ... -
Ubuntu下KVM的安装配置
2012-04-10 15:52 3029KVM教程:http://wiki.ubuntu.org.cn ... -
Ubuntu下常用软件安装配置
2012-03-21 09:35 1173Ubuntu命令技巧:http://wiki.ubuntu.o ... -
RHEL6.1常见配置
2012-01-13 14:20 10251. 显示文件地址路径栏 (1) 首先检查是本机安装 ...
相关推荐
remote shell 是一个远程shell,管理linux的集群工具。
Pdsh is a high-performance, parallel remote shell utility. It has built-in, thread-safe clients for Berkeley and Kerberos V4 rsh, and can call SSH externally (though with reduced performance). Pdsh ...
PDSH手册,PDSH手册,PDSH手册,PDSH手册,PDSH手册,PDSH手册,
centos 7 pdsh rpm 安装包
yum install pdsh 不支持的话,通过安装包安装 pdsh 安装包及教程
用于大规模集群部署,在多台机器上同时执行脚本命令和拷贝数据。十分方便。国内可以下载的是老版本的2.26,现在已经更新到2.29,我提供的从2.26~2.29版本都有,大家可以根据自己的情况下载。
pdsh的全称是parallel distributed shell,与pssh类似,pdsh可并行执行对远程目标主机的操作,在有批量执行命令或分发任务的运维需求时,使用这个命令可达到事半功倍的效果。同时,pdsh还支持交互模式,当要执行的...
例如:pdsh -R ssh -l opsuser -w user00[1-9] "date"-x 此参数用来排除某些或某个主机,例如:pdsh -R ssh
管理交换空间:RAM内存不足时TPCH 创建dbgen脚本产生资料将数据加载到PostgreSQL PostgreSQL更改数据默认目录使用表空间-处理可伸缩性问题播放CSV文件规模很重要磁盘使用命令df , du 命令mount 以正确的方式将数据...
该脚本旨在从配置了主机组的pdsh主机运行,以将所有这些设置应用到该主机。 修改“目录”文本文件以遍历要删除的所有目录,然后删除yum。 修改文本文件以循环遍历要删除的所有HDP软件包。 在尝试安装蓝图之前的假设...
下列哪项可以作为集群的管理工具 a)Puppet b)Pdsh c)Cloudera Manager d)d)Zookeeper 9. 配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)...
下列哪项可以作为集群的管理工具 a)Puppet b)Pdsh c)Cloudera Manager d)d)Zookeeper 9. 配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)...
下列哪项可以作为集群的管理工具 a)Puppet b)Pdsh c)Cloudera Manager d)d)Zookeeper 9. 配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)...
Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。( ) 24. Slave 节点要存储数据,所以它的磁盘越大越好。( ) 25. hadoop dfsadmin –report 命令用于检测 HDFS 损坏块。( ) 26. Hadoop 默认调度器策略为...
Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。( ) 24. Slave 节点要存储数据,所以它的磁盘越大越好。( ) 25. hadoop dfsadmin –report 命令用于检测 HDFS 损坏块。( ) 26. Hadoop 默认调度器策略为...
内存够⼤,所以集群的瓶颈不可能是 a 和 d 3.如果是互联⽹有瓶颈,可以让集群搭建内⽹。每次写⼊数据都要通过⽹络(集群是内⽹),然后还要写⼊ 3 份数据,所以 IO 就会打折 扣。 1. 1. 关于 SecondaryNameNode 哪项...
linux-2.6.26 原始代码修改了大小写重命名问题,并修正了相关引用。
和学生的信息管理课程(2020 年秋季) 课程形式:混合 教育技术:和 概述:在这个以实践为导向的数据分析模块中,学生将学习如何使用计算机程序运行预测模型和分析。 主要原则是探索现有数据以构建新知识、预测未来...
hadoop mapreduce ####下载hadoop包 wget ####单机环境搭建 Required Software Required software for Linux include: Java:trade_mark: must be installed.... Additionally, it is recommmended that pdsh al