https://www.jianshu.com/p/cdda3390b3ae
在HDFS中提供了dis.hosts (include文件)文件和dfs.exclude文件(exclude文件),对连接到namenode的数据节点进行管理,include和exclude保存在FNamesystem中的hostsReader中,
- Include文件:指定了可以连接到namenode的数据节点列表
- Exclude文件:指定不能连接到namenode的数据节点列表
1、添加数据节点:
hdfs dfsadmin -refreshNodes
需要在include中添加相应的记录,并通过dfsadmin工具的refreshnodes命令,刷新名字节点信息,然后启动数据节点,启动时会执行握手,注册,上报相应的行为。
2、删除撤销节点:
在exclude文件中添加将要撤销的节点,然后执行refreshnodes命令,名字节点就会开始撤销DataNode,被撤销的节点的数据块会被复制到集群的其他节点,这个过程中数据节点处于正在撤销的状态(可以在DataNodeDescriptor中查询这个状态),数据复制完成后才会转移到已撤销状态,然后在include中删除相应的记录,就可以关闭相应的数据节点