hadoop集群 动态添加或删除节点

Posted double_kill

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop集群 动态添加或删除节点相关的知识,希望对你有一定的参考价值。

hadoop集群 动态添加或删除节点
 
在运行中的ambari hadoop集中中动态添加或删除节点
1. 下线hdfs节点
 
 
1) 下线datanode
namenode节点上dfs.exclude文件,看配置文件怎么配置的,里每行添加一个服务器名,如我要下线server7,server8,server9,则如下:
server7
server8
 
备注:
如果hdfs-site.xml没有找到dfs.hosts.exclude,那么就手动把下面内容加入到hdfs-site.xml中,然后把需要Decommission的机器写到文件/etc/hadoop/conf/dfs.exclude中去。
<property> <name>dfs.hosts.exclude</name> <value>/etc/hadoop/conf/dfs.exclude</value> </property>
 
2) 选择任意一台节点执行:
(如果要加速下线 可以先把集群块的复制个数减少,再执行下线(导致数据迁移))
hdfs dfsadmin -refreshNodes
 
 
3) 上面刷新后 可以查看下线进度
可以通过
hdfs dfsadmin -report
 
或者web界面查看该datanode状态转为Decommission In Progress。
 
下线会把该节点的数据拷贝到其他节点上去
如果节点上数据比较多,下线会比较慢,等待。
 
当datanode完成数据迁移时,姿态会变为Decommissioned,继续下面操作
 
 
4) 这一步:没有试过,不知道真假
下图状态其实已退役完全(block 转移结束),后续hadoop会自动删除datanode上的数据,也可以直接停掉datanode,手动删除数据
 
技术分享图片
 
 
5)停止已经下线的datanode节点,然后删除该节点(该节点数据已经被迁移到其他节点)
 
6) 删除dfs.exclude中下线节点的hosts(在配置文件中),重新刷新:
hdfs dfsadmin -refreshNodes
 
7)刷新后,确认已经清楚了下线该节点的配置
在hdfs的管理台页面可以看见 Decommission的节点应该不包含上面已经完成了下线的节点
hadoop dfsadmin -report:也可以查看
 
 
7) 删除slaves中下线节点的hosts
 
 
 
---------------------------------------------------------------------------------------
2. 下线yarn节点
 
1) 下线yarn节点
resourcemanager节点上yarn.exclude文件里每行添加一个服务器名,如我要下线server7,server8,server9,则如下:
server7
server8
 
备注:下线tasktracker or nodemanager(过程与下线datanode类似,以下列举不同点)
A、添加(或修改)如下配置项到mapred-site.xml
  1. <property>  
  2.           <name>mapred.hosts.exclude</name>  
  3.           <value>mrhosts.exclude</value>  
  4. </property>  
 
2) 选择任意一台节点执行:
(如果要加速下线 可以先把集群块的复制个数减少,再执行下线(导致数据迁移))
yarn rmadmin -refreshNodes
yarn node -list #查看
 
 
3)若没启用yarn,即下线tasktracker时执行:
 
hadoop mradmin -refreshNodes
---------------------------------------------------------------------------------------
 
 
 
 
4. 上线节点
上线节点基本与下线相同
1) slaves文件里每行添加一个上线服务器名,同时保证dfs.exclude文件为空。
 
2) ./hdfs dfsadmin -refreshNodes
3) 在要上线的节点上启动datanode:
./hadoop-daemon.sh start datanode
4) 如需要启动nodemanager,则执行:
./yarn-daemon.sh start nodemanager
5) 修改slaves,添加上线节点的hosts
 
 
 
 
 

以上是关于hadoop集群 动态添加或删除节点的主要内容,如果未能解决你的问题,请参考以下文章

大数据Hadoop集群的扩容及缩容(动态添加删除节点)

Hadoop---静动态增删节点

添加节点删除节点的两种方式

Hadoop学习笔记—13.分布式集群中节点的动态添加与下架

hadoop+Spark+hbase集群动态增加节点

大数据实操3 - hadoop集群添加新节点