我一直在玩 Cloudera,我在开始工作之前定义了集群的数量,然后使用 cloudera 管理器来确保一切都在运行。
我正在开发一个新项目,而不是使用 hadoop,而是使用消息队列来分发工作,但工作的结果存储在 HBase 中。我可能会启动 10 台服务器来处理作业并存储到 Hbase,但我想知道我以后是否决定添加更多工作节点我可以轻松(阅读:可编程)使它们自动连接到正在运行的集群,以便它们可以在本地添加集群 HBase/HDFS?
这可能吗?我需要学习什么才能做到这一点?
我一直在玩 Cloudera,我在开始工作之前定义了集群的数量,然后使用 cloudera 管理器来确保一切都在运行。
我正在开发一个新项目,而不是使用 hadoop,而是使用消息队列来分发工作,但工作的结果存储在 HBase 中。我可能会启动 10 台服务器来处理作业并存储到 Hbase,但我想知道我以后是否决定添加更多工作节点我可以轻松(阅读:可编程)使它们自动连接到正在运行的集群,以便它们可以在本地添加集群 HBase/HDFS?
这可能吗?我需要学习什么才能做到这一点?
以下步骤应该可以帮助您将新节点启动到正在运行的集群中。
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 步骤。同样,这不是最佳做法。
使用 CDH 5.8.5 (Hadoop 2.6) 更新了 Cloudera 的答案-
要向集群添加新节点,请在 ClouderaManager UI 上执行以下步骤,
如果我对您的理解正确,您有您自己协调的工作人员连接到 HBase 以保存他们的数据。您可以根据需要拥有任意数量的这些,并且它们可以在添加时连接到 Hbase(只要它们可以看到 zookeeper quorum)。
如果您正在谈论增加 Hadoop 集群。由于您已经使用 Cloudera,您可以通过cloudera Manager REST API或有人为它实现的 Java 客户端来做到这一点