2012-10-31 81 views
12

我一直在玩Cloudera,并在开始工作之前定义了簇的数量,然后使用cloudera管理器确保一切正在运行。有没有办法将节点添加到正在运行的Hadoop集群?

我正在开发一个新项目,而不是使用hadoop使用消息队列来分发工作,但工作结果存储在HBase中。我可能会启动10台服务器来处理作业并存储到Hbase,但是我想知道如果以后我决定添加更多的工作节点,我可以轻松地(读取:可编程)使它们自动连接到正在运行的群集,以便它们可以本地添加簇集HBase/HDFS?

这是可能的,我需要学习什么才能做到这一点?

回答

9

以下是将节点添加到HadoopHBase的文档。查看文档,不需要重新启动集群。节点可以动态添加。

+1

我是否需要更新所有节点上的从站文件或仅在NameNode上更新? – Tariq

+0

我是否需要在所有节点上更新/ etc/hosts文件,还是仅针对NameNodes? – Tariq

0

如果我正确理解你,你有你自己协调的工作人员连接到HBase来保存他们的数据。您可以根据需要添加尽可能多的这些内容,并且可以在添加它们时连接到Hbase(只要它们可以看到动物园管理员法定人数)。

如果您正在讨论增加Hadoop集群。由于您已经使用Cloudera,因此可以通过cloudera Manager REST APIJava client someone implemented for it

1

执行以下步骤,以帮助您将新节点启动到正在运行的群集中。

1> Update the /etc/hadoop/conf/slaves list with the new node-name 
2> Sync the full configuration /etc/hadoop/conf to the new datanode from the Namenode. If the file system isn't shared. 
2> Restart all the hadoop services on Namenode/Tasktracker and all the services on the new Datanode. 
3> Verify the new datanode from the browser http://namenode:50070 
4> Run the balancer script to readjust the data between the nodes. 

如果您不想在NN上重新启动服务,那么在添加新节点时。我会说,将名称提前添加到从站配置文件。所以他们报告为停用/死亡节点,直到它们可用。遵循上面的DataNode只有步骤。再次,这不是最好的做法。

+0

感谢您的回答,您能否更新您的Hadoop 2.5.2的答案,因为2.5.2中没有conf文件夹 – Tariq

0

无需重新启动hadoop集群即可完成。根据此document,您可以在包含文件中添加节点,并在hdfs-site.xml和mapred-site.xml文件中进行一些更改,您可以实现此目的。详细说明请参见this document

相关问题