您的位置:首页 > Web前端 > Node.js

Hadoop 委任和解除节点(DataNode和NodeManager)

2017-05-06 11:37 483 查看

Hadoop 委任和解除节点(DataNode和NodeManager)

Hadoop 集群管理员经常需要向集群中添加或者移除节点。通常情况下,节点同时运行DataNode和NodeManager。因而两者可以同时委任或移除。

委任一个新节点只需要在修改下配置文件,并把配置文件复制到新的节点就行了。但是这也存在着一些问题:

(1)随便允许一台机器以DataNode身份连接到NameNodes是不安全的,因为机器很可能访问未授权的数据。

(2)这种机器并非正真的DataNode,不在集群的控制之下,随时可能宕机,导致数据丢失。

Hadoop官方文档给出了委任和解除节点的具体配置方法

我的集群是Hadoop-2.7.2。如果版本不同,可以查看相应版本的官方文档http://hadoop.apache.org/docs/

一,委任新节点

被允许连接到namenode的datanode放在一个文件中的,文件名由dfs.hosts属性指定,该文件的每一行制定一个datanode的网络地址。类似的,可以连接到resourcemanager的nodemanager也在一个文件中指定,文件名由yarn.resourcemanager.nodes.include-path指定。因为datanode和nodemanager守护进程运行在同一个节点,所以可以指定同一个文件。这个文件不同于slaves文件,前者供namenode和resourcemanager使用,用于决定可以连接到哪些工作节点,Hadoop控制脚本使用slaves文件执行面向整个集群的操作,比如重启集群。Hadoop守护进程从不使用slaves文件。

(一)委任节点

1,在namenode节点的$HADOOP_HOME/etc/hadoop/hdfs-site.xml中添加dfs.hosts属性。在resourcemanager节点的yarn-site.xml中添加yarn.resourcemanager.nodes.include-path属性。





value为文件的绝对路径。

2,创建include文件

在namenode节点和resourcemanager节点创建include



3,添加新节点步骤

(1)配置创建include文件,在文件中添加地址。

(2)运行以下命令,将经过审核的datanode更新至namenode信息

hadoop dfsadmin -refreshNodes


(3)运行以下命令,将经过审核的nodemanager更新至resourcemanager信息

yarn rmadmin -refreshNodes


(3)更新slaves文件,与include相同

(4)启动新的datanode和nodemanager

(5)通过网页界面检查是否成功更新

(二)解除节点

1,若要解除一个节点,则该节点必须出现在exclude文件中。在namenode节点的$HADOOP_HOME/etc/hadoop/hdfs-site.xml中添加dfs.hosts属性。在resourcemanager节点的yarn-site.xml中添加yarn.resourcemanager.nodes.include-path属性。方法与之前相同

2,创建exclude文件

3,解除步骤

(1)将要移除的节点添加到exclude文件中,不更新include文件。

(2)运行以下命令,将经过审核的datanode更新至namenode信息

hadoop dfsadmin -refreshNodes


(3)运行以下命令,将经过审核的nodemanager更新至resourcemanager信息

yarn rmadmin -refreshNodes


(4)开始解除过程,解除的DataNode会把快信息复制到其他DataNode上。

(5)解除完毕后,从include文件中将这些节点移除。并运行

hadoop dfsadmin -refreshNodes
yarn rmadmin -refreshNodes


(6)从slaves文件移除节点。

注意:判断一个nodemanager能否连接resourcemanager的条件是:仅当

nodemanager出现在include文件且不出现在exclude文件。

HDFS 规则不同。如下表



如果未指定include或include为空,则意味所有节点都在include文件

这都是参照官方文档和《Hadoop权威指南》总结出的,有错请拍砖!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop