您的位置:首页 > 运维架构 > Linux

Linux运维式具之pdsh

2015-11-22 14:49 453 查看
做系统运维的时候,我们经常需要同时在多台机器上执行相同的命令,这个时候可以使用类似pssh,pdsh的并行执行shell的工具。

当然,之前在没有使用这些工具之前,如果有ssh无密码互访,我们可以自己写for循环来执行,但是自己写的for循环是串行,

pdsh是并发。

比如,当你接管一个新的大数据集群的时候,需要做的一件事情就是要熟悉所有的配置信息,以做到心中有数,在熟悉了主配置文件之后,

我们需要比对datanode节点的配置文件是否一致,这个时候,我们可以使用pdsh.

pdsh –w dn[1-50] ‘md5sum /app/hadoop/etc/hadoop/core-site.xml’ | dshbak –c

直接列出相同组的datanode列表和不同的,一下子就可以看清楚哪些是相同的,哪些是不同的。

或者在troubleshooting问题的时候,比对系统配置文件是否一致。

在安装pdsh包的时候,会自带有一个工具pdcp并行复制工具,可以帮助进行并行的文件分发。

比如你在dn1上修改了一个mapred-site.xml的文件,然后需要把这个文件纷发到其他dn节点,可以这么做

pdcp –w dn[2-100]  /pathtohadoop/etc/hadoop/mapred-site.xml /pathtohadoop/etc/hadoop/

即可,非常方便易用。

还可以做类似系统内核更新,你可以使用pdcp先把安装包纷发出去,然后通过pdsh执行安装命令,一下完成所有机器的安装。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: