`
heipark
  • 浏览: 2097624 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用pdsh在集群执行命令(hadoop适用)

 
阅读更多

快速了解

这个小工具作用就是批量在集群节点执行命令,比如我想在 node_1至node_9上执行hostname命令:

 

 

/usr/bin/pdsh -R ssh -w node_[1-9] hostname

 

  • -R:指定传输方式,默认为rsh,本例为ssh,如果希望ssh传输需要另行安装pdsh-rcmd-ssh,如果希望ssh无密码访问需要提前配置好。
  • -w:指定待执行命令host,也可以这样配置,node_[1-9, 35,22]
  • command:本例为hostname

 

安装

 

 

# 官方tarball方式:
http://sourceforge.net/projects/pdsh/
wget http://cdnetworks-kr-2.dl.sourceforge.net/project/pdsh/pdsh/pdsh-2.26/pdsh-2.26.tar.bz2
tar -jxf pdsh-2.26.tar.bz2 && cd pdsh-2.26
./configure --with-ssh --without-rsh && make && make install

#yum安装(32位机器我没有找到源,64为机器可以使用rpmforce的源)
yum install pdsh 

 

验证安装:

 

pdsh -V

 如果rcmd modules的值中有ssh说明安装成功了。

 

hadoop集群上的实践

CDH3已经不推荐使用start-all.sh, stop-all.sh管理集群,而是推荐使用script(/etc/init.d/hadoop-0.20-*)方式独立运行集群,这样做的好处是可以把hadoop分为hdfs和mapred两种用户,更好管理权限,但是直到CDH3u1都没有支持批量方式启动、关闭jobtracker和datanode,so,我们可以用pdsh + ssh + shell 实现这个start-all.sh和stop-all.sh的功能,附上我写的脚本,把它放到PATH里,就可以方便使用了:

 

 

sudo /etc/init.d/hadoop-0.20-namenode start
sudo /etc/init.d/hadoop-0.20-jobtracker start
/usr/bin/pdsh -R ssh -w CHN-DG-3-5I[3,4,8,9] "sudo /etc/init.d/hadoop-0.20-datanode start"
/usr/bin/pdsh -R ssh -w CHN-DG-3-5I[3,4,8,9] "sudo /etc/init.d/hadoop-0.20-tasktracker start"

 

FAQ:

Q:使用pdsh执行集群命令有些集群出现错误:“sudo: sorry, you must have a tty to run sudo”

A:找到问题集群,切换大root用户,执行“visudo”,注释掉“Defaults    requiretty”

 

Q: 执行 pdsh -R ssh ...时候报错:“ssh Bad configuration option: ConnectTimeout”,但执行ssh命令是可以的。

A:安装最新版本openssh吧

 

参考:

http://bbs.chinaunix.net/thread-2002080-1-1.html

 

0
0
分享到:
评论

相关推荐

    Hadoop测试题

    Hadoop 测试题 Hadoop 测试题主要涵盖了 Hadoop ...33. DataNode 首次加入 cluster 的时候,如果 log 中报告不兼容文件版本,那需要 NameNode 执行“Hadoop namenode -format”操作格式化磁盘。因此,正确答案是 √。

    大数据技术之Hadoop知识分享 Hadoop面试题目及其答案 Hadoop面试题目整理 Hadoop使用经验 共9页.pdf

    7. **集群管理工具**:Puppet、Pdsh和Cloudera Manager都是用于管理Hadoop集群的工具,而Zookeeper则提供分布式协调服务,对于Hadoop和HBase等系统中的命名服务、配置管理、选举等场景至关重要。 8. **机架感知**:...

    常见Hadoop面试题

    1. 可以作为集群的管理工具有 Puppet、Pdsh、Cloudera Manager 和 Zookeeper 等。 机架感知 1. 配置机架感知可以确保数据的高可用性和可靠性。 Client 端上传文件 1. Client 端上传文件的时候,会将文件切分为 ...

    离线安装HADOOP环境

    **2.9.2 使用pdsh同步**:通过安装pdsh工具来同步集群内部的时间。 ```bash # yum install -y pdsh # pdsh -w node2 -M -f 10 date +%s ``` **2.9.3 使用NTPserver同步**:安装并配置NTP服务,使得所有节点的时间...

    最新大数据Hadoop面试题!(附答案解析).pdf

    集群管理是Hadoop集群的重要组件之一,常用的集群管理工具有Puppet、Pdsh、Cloudera Manager等。 9. 机架感知 机架感知是Hadoop集群的高级功能之一,可以根据机架的拓扑结构来优化数据存储和计算。常用的机架感知...

    大数据技术Hadoop面试题.pdf

    8. 集群管理工具:Puppet、Pdsh、Cloudera Manager和Zookeeper都可以作为集群管理工具,其中Cloudera Manager是专门针对Cloudera的Hadoop发行版CDH的管理平台。 9. 机架感知配置:在配置机架感知时,写入数据会写到...

    《大数据技术原理和应用操作》试卷A卷及答案.pdf

    * 在 Hadoop 的解压目录下的 bin 目录,存放的是 Hadoop 的可执行文件(×) * Hadoop HA 是集群中启动两台或两台以上机器充当 NameNode,避免一台 NameNode 节点发生故障导致整个集群不可用的情况(√) * 在安装...

    大数据技术Hadoop笔试题.doc.pdf

    33. **DataNode加入集群**:当DataNode首次加入cluster时,如果报告文件版本不兼容,可能需要在NameNode上执行`hadoop namenode -format`命令格式化磁盘(答案正确)。 以上是对Hadoop大数据技术的详细解析,涵盖了...

    大数据Hadoop面试题!(附答案解析).docx

    6. **集群管理工具**:Puppet、Pdsh和Cloudera Manager等工具可以用于管理Hadoop集群,自动化配置、监控和维护任务。Zookeeper则是一个分布式协调服务,常用于实现集群中的高可用性和一致性。 7. **机架感知**:...

    hadoop面试题答案

    **知识点2:** 在Hadoop集群中,SecondaryNameNode并不是一个热备组件,而是用于辅助NameNode合并编辑日志,从而减少NameNode的启动时间。因此,SecondaryNameNode通常不会与NameNode部署在同一台机器上,而是运行在...

    大数据技术Hadoop笔试题.doc.docx

    33. 当DataNode首次加入cluster并报告文件版本不兼容时,可能需要在NameNode上执行`hadoop namenode -format`来格式化磁盘。 以上是对Hadoop及其相关知识点的详细解释,涵盖了Hadoop的组件、配置、运行模式、故障...

    hadoop练习题--带答案.pdf

    【Hadoop基础概念】 Hadoop是一个开源框架,主要用于处理和存储大数据。...以上内容涵盖了Hadoop的基础概念、集群管理、数据存储、故障恢复以及集群监控等多个方面,这些都是理解和使用Hadoop时必备的知识点。

    大数据技术Hadoop面试题 (2).pdf

    8. 可以作为集群管理工具的包括Puppet、Pdsh、Cloudera Manager和Zookeeper,所以abcd)都正确。 9. 配置机架感知后,写入数据会写到不同机架的DataNode中,以提高数据冗余和网络效率,选项b)正确。 10. Client端...

    最新大数据Hadoop面试题!(附答案解析).docx

    - **Puppet**和**Pdsh**等工具可用于自动化集群的配置和管理,确保集群的高效运行。 7. **HDFS写入流程**: - 客户端(Client)将文件分割成Block,并直接写入到NameNode指定的DataNode上,NameNode负责协调Block...

    大数据技术Hadoop面试题 (2).docx

    8. 可以作为集群管理工具的包括Puppet、Pdsh、Cloudera Manager和Zookeeper,所以选项a)、b)、c)和d)都是正确的。 9. 配置机架感知后,写入数据时会写到不同机架的DataNode中,MapReduce会根据机架获取较近的数据,...

Global site tag (gtag.js) - Google Analytics