備注:新添的機器為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