15

我一直在玩 Cloudera,我在开始工作之前定义了集群的数量,然后使用 cloudera 管理器来确保一切都在运行。

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

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

4

5 回答 5

13

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

于 2012-10-31T14:34:42.213 回答
2

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

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 步骤。同样,这不是最佳做法。

于 2012-10-31T16:03:06.033 回答
1

使用 CDH 5.8.5 (Hadoop 2.6) 更新了 Cloudera 的答案-

要向集群添加新节点,请在 ClouderaManager UI 上执行以下步骤,

  1. 单击您的集群名称。
  2. 转到主机列表。
  3. 进入主机页面后,单击“将新主机添加到集群”。
  4. 输入主机的 IP 并搜索。
  5. 继续按照说明进行操作并继续执行后续步骤。
  6. 最后为您的新节点分配角色,例如,如果它是数据节点,则仅分配与数据节点相关的角色并继续。
  7. 最后,您的新节点将添加到您的集群中。单击完成。
于 2019-03-22T06:47:06.807 回答
0

如果我对您的理解正确,您有您自己协调的工作人员连接到 HBase 以保存他们的数据。您可以根据需要拥有任意数量的这些,并且它们可以在添加时连接到 Hbase(只要它们可以看到 zookeeper quorum)。

如果您正在谈论增加 Hadoop 集群。由于您已经使用 Cloudera,您可以通过cloudera Manager REST API有人为它实现的 Java 客户端来做到这一点

于 2012-10-31T15:22:29.107 回答
0

无需重启hadoop集群即可完成。根据本文档,您可以在包含文件中添加节点,并在 hdfs-site.xml 和 mapred-site.xml 文件中进行一些更改,您可以实现这一点。本文档中给出了详细说明

于 2016-01-13T09:16:21.727 回答