Hadoop 集动态添加或删除节点
Hadoop 集动态添加或删除节点
1. 下线节点
-
1.1.1 NameNode 节点上
dfs.exclude
文件,看配置文件怎么配置的,里每行添加一个服务器名,如我要下线emr-worker-7,emr-worker-8,emr-worker-9
, 则如下:
emr-worker-7
emr-worker-8
emr-worker-9 -
1.1.2 ResourceManager 节点上
yarn.exclude
文件里每行添加一个服务器名,如我要下线emr-worker-7,emr-worker-8,emr-worker-9
,则如下:
emr-worker-7
emr-worker-8
emr-worker-9
- 1.2 任选一台节点执行:
hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes
yarn node -list
-
1.3 这时可以通过
hdfs dfsadmin -report
或者web界面查看该datanode状态转为Decommission In Progress
。
如果节点上数据比较多,下线会比较慢,等待。
当datanode完成数据迁移时,姿态会变为Decommissioned
,继续下面操作 -
1.4 删除dfs.exclude中下线节点的hosts,重新刷新:
hdfs dfsadmin -refreshNodes
- 1.5 删除slaves中下线节点的hosts
2. 上线节点
上线节点基本与下线相同
1) slaves文件里每行添加一个上线服务器名,同时保证dfs.exclude文件为空。
-
2.1
hdfs dfsadmin -refreshNodes
-
2.2 在要上线的节点上启动datanode:
hadoop-daemon.sh start datanode
-
2.4 如需要启动nodemanager,则执行:
yarn-daemon.sh start nodemanager
-
2.5 修改slaves,添加上线节点的hosts