我一直在玩Cloudera,我在开始工作之前定义了簇的数量,然后使用cloudera管理器确保一切都在运行。
我正在开发一个新项目,而不是使用hadoop使用消息队列来分发工作,但工作结果存储在HBase中。我可能会启动10个服务器来处理作业并存储到Hbase但是我想知道我以后是否决定添加更多的工作节点我可以轻松(读取:可编程)使它们自动连接到正在运行的集群,以便它们可以在本地添加集群HBase / HDFS?
这是否可行,为了做到这一点我需要学习什么?
答案 0 :(得分:13)
答案 1 :(得分: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步骤。再次,这不是最好的做法。
答案 2 :(得分:0)
如果我理解你的话,你有工人,你自己协调连接到HBase以保存他们的数据。您可以根据需要拥有尽可能多的内容,并且可以在添加时连接到Hbase(只要他们可以看到动物园管理员的法定人数)。
如果您正在谈论增加Hadoop集群。由于您已经使用了Cloudera,您可以通过cloudera Manager REST API或Java client someone implemented for it
来实现答案 3 :(得分:0)
可以在不重启hadoop集群的情况下完成。根据此document,您可以在包含文件中添加节点,并在hdfs-site.xml和mapred-site.xml文件中进行一些更改,您可以实现此目的。详细说明见this document
答案 4 :(得分:0)
使用CDH 5.8.5(Hadoop 2.6)的Cloudera更新答案-
要将新节点添加到集群中,请在ClouderaManager UI上执行以下步骤,