备注:新添的机器为hadoop05,现有hadoop01、hadoop02、hadoop03、hadoop04
环境准备:
1、先克隆一台和集群中一样的机器
2、修改机器ip和主机名称
3、删除原来的data文件和log日志的残存的文件
服役新节点的具体步骤:
1、在namenode的安装目录中的etc/hadoop文件夹下创建dfs.hosts文件
touch dfs.hosts
2、在文件中添加datanode的主机名称(包括新添加的节点)
hadoop02
hadoop03
hadoop04
hadoop05
3、在namenode的hdfs-site.xml配置文件中添加dfs.hosts属性
<property> <name>dfs.hosts</name> <value>/soft/apps/hadoop/hadoop/etc/hadoop/dfs.hosts<alue> </property>
4、刷新namenode
hdfs dfsadmin -refreshNode
提示:Refresh nodes successful
5、更新resourcemanager节点
yarn rmadmin -refreshNode
提示:INFO client.RMProxy:connecting头resourceManager at hadoop 02/192.168.80.2:8033
6、在namenode的slaves文件中添加新主机的名称
注意:不需要分发文件
hadoop02
hadoop03
hadoop04
hadoop05
7、单独命令启动新的数据节点和节点管理器
hadoop-daemon.sh start datanode
yarn-deamon.sh start nodemanager
8、在web上查看是否启动
192.168.80.1:50070
9、如果数据不均衡的话,可以用命令实现集群的在平衡
start-dalancer.sh
--------------------------------------------------------------------------------------------
退役数据节点
1、在namenode的安装目录的etc/hadoop目录下面创建dfs.hosts.exclude文件
touch dfs.hosts.exclude
vi dfs.hosts.exclude
添加主机名(要退役的节点)
2、在namenode的hdfs-site.xml配置文件中增加dfs.hosts.exclude属性
<property> <name>dfs.hosts.exclude</name> <value>/soft/apps/hadoop/hadoop/etc/hadoop/dfs.hosts.exclude<alue> </property>
3、刷新namenode、刷新resourcemanager
hdfs dfsadmin -refreshNodes
提示:Refresh nodes successful
yarn rmadmin -refreshNodes
4、检查web,退役节点的状态为decommission in progress(退役中),说明数据节点正在复制块到其他节点
5、等待退役节点状态为:decommissioned (所有块已经复制成功),停止该节点及节点资源管理器。注意:如果副本数是3.服役的节点小于等于3.是不能退役成功的。需要修改副本数之后才能退役
hadoop-daemon.sh stop datanode
hadoop-daemon.sh stop nodemanager
6、从include文件中删除退役节点,在运行刷新节点的命令
1、从dfs.hosts文件中删除退役的节点hadoop05
2、刷新namenode,舒心resourcemanager
hdfs dfsadmin -refreshNodes
提示:Refresh nodes successful
yarn rmadmin -refreshNodes
7、从namenode的slaves文件总删除退役节点(Hadoop05)
8、若是数据不均衡刷新
start-balancer.sh
来源:https://www.cnblogs.com/dongxiucai/p/9677954.html