一、添加节点
- 将新节点的网络地址添加到include文件中
- 运行以下命令,将审核过的一系列datanode集合更新至namenode信息:
hdfs dfsadmin -refreshNodes
- 运行以下命令,将审核过的一系列datanode集合更新至资源管理器:
yarn mradmin -refreshNodes
- 以新节点更新slaves文件
- 启动新的 datanode 和 nodemanager
二、移除节点
- 将解除节点的网络地址添加到exclude文件中,不更新include文件
- 执行以下指令,使用一组新的审核过的datanode来更新namenode设置
hdfs dfsadmin -refreshNodes
- 执行以下指令,使用一组新的审核过的datanode来更新资源管理器
yarn mradmin -refreshNodes
转到网页界面,查看待解除的datanode的管理状态是否已经变为“Decommission In Progress”状态,因为此时相关的datanode正在被解除过程之中。这些datanode会把他们的块复制到其他的datanode中
当所有datanode的状态变为“Decommissioned”时,表明所有的块都已经复制完成。关闭这些已经解除的节点
从include文件中移除这些节点,并运行以下命令:
hdfs dfsadmin -refreshNodes
yarn mradmin -refreshNodes
- 从slaves文件中移除节点
以上涉及到两个文件 include 和 exclude,节点在其中的关系如下:
节点在include中 | 节点在exclude中 | 解释 |
---|---|---|
否 | 否 | 节点无法连接 |
否 | 是 | 节点无法连接 |
是 | 否 | 节点可连接 |
是 | 是 | 节点可连接,将被解除 |