有没有办法向正在运行的hadoop集群添加节点?

tyu7yeag  于 2021-06-03  发布在  Hadoop
关注(0)|答案(5)|浏览(323)

我一直在玩cloudera,我在开始工作之前定义集群的数量,然后使用cloudera管理器确保一切都在运行。
我正在做一个新的项目,它不是使用hadoop,而是使用消息队列来分发工作,但是工作的结果存储在hbase中。我可能会启动10台服务器来处理作业并将其存储到hbase,但我想知道,如果我后来决定再添加几个工作节点,我是否可以轻松地(读:可编程)使它们自动连接到正在运行的集群,以便它们可以本地添加到集群hbase/hdfs?
这有可能吗?为了做到这一点,我需要学习什么?

efzxgjgh

efzxgjgh1#

下面是向hadoop和hbase添加节点的文档。查看文档,不需要重新启动集群。可以动态添加节点。

yyyllmsg

yyyllmsg2#

使用cdh5.8.5(hadoop2.6)更新cloudera的答案-
要向集群添加新节点,请在clouderamanager ui上执行以下步骤,
单击集群名称。
转到主机列表。
在“主机”页面上,单击“将新主机添加到群集”。
输入主机的ip并搜索。
继续按照说明进行操作并继续执行下一步。
最后,将角色分配给新节点,例如,如果它是数据节点,则只分配与数据节点相关的角色并继续。
最后,新节点被添加到集群中。单击“完成”。

mwg9r5ms

mwg9r5ms3#

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

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上的服务,请在添加新节点时执行。我要说的是,将前面的名称添加到slaves配置文件中。因此,在可用之前,它们将报告为停用/死区节点。只执行上述datanode步骤。同样,这不是最好的做法。

nc1teljy

nc1teljy4#

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

vsnjm48y

vsnjm48y5#

如果我理解正确的话,您可以自己协调工作人员连接到hbase来保存他们的数据。您可以根据需要拥有任意多个,它们可以在添加时连接到hbase(只要它们可以看到zookeeper仲裁)。
如果您正在讨论增加hadoop集群。因为您已经使用了cloudera,所以可以通过cloudera管理器restapi或为其实现的java客户机来实现

相关问题