HDFS动态添加、删除节点机器
操作
配置
1.动态的 增/删 节点
1.1 ————操作前准备新节点
集群启动的状态中,添加一台新的机器(节点)进入;
第一次三台机器加入集群,是通过slaves中添加的。
这里创建一个新的hadoop4号机器,启动服务,稍后动态添加。
1.1.1 克隆一台新机器:hadoop4;
————注:(一定注意,克隆中的集群生成的 data和name文件夹要删除)
配置 hadoop4 IP,修改主机名称,增加hosts名称。
hosts里边有四台机器,发送给原来hadoop1,hadoop2,hadoop3
配置hadoop4 的ssh免秘钥认证:分别发给四台机器;
1.1.2 登录1/2/3号机器分别设置 给hadoop4的免秘钥认证;
1.1.3 启动正常集群:只包含1/2/3机器(dfs/yarn)
1.2 ————动态增加节点
1.2.1 找到主机的 slaves 配置文件
cd /usr/soft/hadoop-2.7.1/etc/hadoop
slaves 中添加 hadoop4 号机器(要添加的节点名称)
[root@hadoop-1 hadoop]# vi slaves
1.2.2 手动刷新节点 (主机上)
hdfs dfsadmin -refreshNodes
1.2.3 第四台机器启动 datanode (在4号机器执行)
hadoop-daemon.sh start datanode
1.2.4 刷新 50070 页面 看连接 datanode 数
1.2.5 第四台机器启动nodemanager (会自动加入集群)
yarn-daemon.sh start nodemanager
集群中datanode和 nodemanager 是相伴的,所以启动nodemanager 之后节点会自动加入yarn
1.3 ————动态删除节点
1.3.1 提前创建好自定义路径的 exclude 空文件(用于保存要删除的节点机名称)
/usr/soft/exclude
1.3.2 配置动态删除 datanode
修改 每台机器的 hdfs-site.xml
<property>
<name>dfs.hosts.exclude</name>
<value>/usr/soft/exclude</value>
</property>
1.3.3 配置动态删除 namemanager
修改 每台机器的 yarn-site.xml
<property>
<name>yarn.resourcemanager.nodes.exclude-path</name>
<value>/usr/soft/exclude</value>
</property>
1.3.4 启动集群
start-dfs.sh
start-yarn.sh
1.3.5 需要动态删除哪个节点机器
a)对应的在主机的 /usr/soft/exclude 文件中添加哪个机器名称
b)刷新 操作 即可
比如删除三号机器
1) echo "hadoop-3" > exclude
2) hadoop dfsadmin -refreshNodes
3) yarn rmadmin -refreshNodes 刷新NodeManager
1.3.6 查看 50070 看到 3号节点状态 变化 后去可以删除
hadoop-3:50010 (192.168.137.103:50010) 0 Decommission In Progress 17.23 GB 932 KB 5.96 GB 11.27 GB 20 932 KB (0.01%) 0 2.7.1
————8088 查看 已经少了一个节点。
1.3.7 删除节点操作 在50070不再显示
————去 3号机器 停止 datenode 和 nodemanager
hadoop-daemon.sh stop datanode
yarn-daemon.sh stop nodemanager
————50070查看3号节点 时间越来越长 目前 97
hadoop-3:50010 (192.168.137.103:50010) 97 Decommissioned 17.23 GB 932 KB 5.96 GB 11.27 GB 20 932 KB (0.01%) 0 2.7.1
————当时间超过10分钟没有响应会被关闭
————安全状态如下 Decommissioned
Node Last contact Admin State Capacity Used Non DFS Used Remaining Blocks Block pool used Failed Volumes Version
hadoop-3:50010 (192.168.137.103:50010) Fri Dec 14 2018 15:13:50 GMT+0800 (中国标准时间) Dead, Decommissioned - - - - - - - -
当前状态之后,可以安全的进行 3 号机器 关机操作,和历史文件查看操作等。
1.4 还原3号节点的操作两种
生产环境:(真实工作环境服务器从不轻易停机)
3号不能再复原回到集群,exclude中只添加删除的机器,不做修改操作;
进群只能新节点添加,或者变更3号为其他节点在走动态添加集群流程。
学习中环境:
注释exclude中主机名称。
在3号机器重启服务;
hadoop-daemon.sh start datanode
yarn-daemon.sh start nodemanager
- 可以注释掉hdfs.site.xml中 删除配置属性,
注释yarn-site.xml中 删除配置属性,
重启服务即可3号回到集群;