如有不理解的请先参考
Hadoop核心组件的介绍(一)
https://mp.csdn.net/postedit/102629533
Hadoop核心组件的HDFS安装与配置(二)
https://mp.csdn.net/postedit/102634658
HDFS节点管理
增加节点
工作流程
- 启动新增节点nw系统,安装运行Java运行环境(java1.8.0-openjdk-devel)
- 设置nn节点主机对新增节点主机nw(192.168.1.64)SSH免密登录
- 修改nn节点主机的/etc/hosts文件,增加nw主机信息
- 修改nn节点主机的slaves文件,增加新增节点nw主机名
- 拷贝nn节点的/usr/local/hadoop到新增主机nw的/usr/local下
- 在nw节点启动DataNode
[root@nw ~]# cd /usr/local/hadoop
[root@nw ~]# ./sbin/hadoop-daemon start datanode #启动DataNode
[root@nw ~]# jps #查看该节点的角色
但是此时在NameNode节点上还是查不到该节点的状态信息,那么我们还需要执行下满的同步数据
- 在nw节点主机上设置同步带宽,并同步数据
如果不进行数据同步,那么会出现旧的DataNode节点数据存储快满了,而新增加的DataNode节点数据还未存满的情况.
[root@nw ~]# ./bin/hdfs dfsadmin -SetBalanceBandwidth 60000000 #设置同步数据时使用的带宽
[root@nw ~]# ./sbin/start-balancer.sh #执行数据同步,尽量是数据块能均匀的存储在所有的DataNode节点主机上
- nn主机上查看集群状态
[root@nn ~]# ./usr/local/hadoop/etc/hadoop/bin/hdfs dfsadmin -report
修复节点
分为两种情况
- 服务重启类的修复
重启节点主机后,在该节点主机启动服务
~]# ./usr/local/hadoop/etc/hadoop/sbin/hadoop-daemon start datanode #启动DataNode节点服务
这里由于只是DataNode的主机重启,配置文件并未发生改变,只需要启动服务.让主机上线,数据会自动进行恢复.如果数据量比较大,可能需要一段时间
- 更换机器类的修复
更换DataNode主机后,将NameNode主机上的hadoop拷贝一份到新的主机,在新主机上安装Java环境,不过这里要注意的是,更换的机器主机名和IP必须和被替换机器的主机名和IP相同,然后参考服务器重启类的修复即可.
删除节点
1. 配置NameNode节点的hdfs-site.xml,增加排除主机配置
[root@nn ~]# cd /usr/local/hadoop/etc/hadoop/
[root@nn hadoop]# vim hdfs-site.xml
<configuration>
... ...
<property>
<name>dfs.hosts.exclude</name> #增加排除主机参数
<value>/usr/local/hadoop/etc/hadoop/exclude</value> #指定配置文件路径
</property>
</configuration>
2. 添加exclude配置文件,写入要删除的节点主机名称
[root@nn hadoop]# vim /usr/local/hadoop/etc/hadoop/exclude
nw
3. 更新数据
[root@nn hadoop]# ./bin/hdfs dfsadmin -refreshNodes
在这里需要说一下,NameNode使用./bin/hdfs dfsadmin -report查看节点状体有三种模式
- Normal:正常状态
- Decommissioned inProgram : 数据正在迁移
- D而commissioned: 数据迁移完成
注意:其中前两种状态下不能随便删除主机,否则会导致数据丢失,集群崩溃,当数据迁移完成后,可以关闭你在配置文件中写的节点主机了.
Yarn节点管理
Yarn节点主机的增加删除非常简单
- 增加节点
- 给新主机安装Java运行环境(java1.8.0-openjdk-devel)
2.在NameNode节点的修改/etc/hosts文件,增加新节点信息,并将/etc/hosts文件和hadoop拷贝给新增加的主机
3.在新增节点主机上启动NodeManager服务
]# ./sbin/yarn-daemon.sh start nodemanager
- 删除节点
在需要被删除的主机上执行:
]# ./sbin/yarn-daemon.sh stop nodemanager
直接暂停即可,因为NodeManager节点不许要存储数据,所以不需要进行数据同步等操作,删除NodeManager后只会降低计算性能. - 查看节点
]# ./bin/yarn node -list