为Hadoop集群撤销节点
2012-12-07
步骤:
1. 在namenode中应该有至少一个exclude文档,方便将要移除的机器写入其中。
- 对于hdfs,配置属性hdfs.hosts.exclude;
- 对于mapred,配置属性mapred.hosts.exclude。可以都指向该文件。
2. 手动关闭待下架机器的tasktracker。
方法:在待下架机器上执行 $HADOOP_HOME/bin/hadoop-daemon.sh stop tasktracker 。
3. 运行命令强制刷新集群各节点信息
$HADOOP_HOME/bin/hadoop dfsadmin -refreshNodes
4. 查看刷新之后的节点信息
$HADOOP_HOME/bin/hadoop dfsadmin -report
- 可以发现指定节点状态为: Decommission Status : Decommission in progress
- 这表明集群正在拷贝数据到其他机器
- 等待节点状态改变: Decommission Status : Decommissioned
- 表明数据拷贝完成,可以下架机器。
- 方法:在待下架机器上执行 $HADOOP_HOME/bin/hadoop-daemon.sh stop datanode
5. 在namenode的配置文件slaves和exclude文档中移除该节点的信息。
【注意】
有时候因为某些原因可能导致撤销节点始终处于Decommission in progress的状态。详情请参考: http://www.hadoopor.com/viewthread.php?tid=4589
本质的原因是某些块复制出现了问题:
查看namenode的日志即可发现问题,类似为:
INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Block: blk_-3167344645674641763_2210, Expected Replicas: 10, live replicas: 6, corrupt replicas: 0, decommissioned replicas: 1, excess replicas: 0, Is Open File: false, Datanodes having this block: 192.168.1.24:50010 192.168.1.23:50010 192.168.1.22:50010 192.168.1.26:50010 192.168.1.25:50010 192.168.1.28:50010 , Current Datanode: 192.168.1.28:50010, Is current datanode decommissioning: true
解决方法:
在namenode上使用fsck工具查看指定块的位置,然后手动删除
阅读更多- hadoop集群之添加撤销datanode节点
- 部署Hadoop集群,三个节点
- Hadoop集群搭建(7个节点)
- Hadoop集群中增加新节点
- 2018-07-08期 Hadoop单节点伪分布式集群配置
- hadoop集群增加删除节点
- hadoop集群中动态添加新的DataNode节点
- Hadoop集群动态添加datanode节点步骤
- Hadoop集群安装、节点增添与删除
- hadoop 集群 加入一个新的存储节点和删除一个计算节点需要刷新集群状态命令
- 5节点Hadoop分布式集群搭建-超详细文档
- 用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker
- hadoop2.6.0添加集群节点(二)
- 基于hadoop2.6.0搭建5个节点的分布式集群
- 如何在不影响hadoop集群正常运行的情况下迁移主控节点[namenode]
- Hadoop概念学习系列之Hadoop集群动态增加新节点或删除已有某节点及复制策略导向 (四十三)
- Hadoop2.2.0版本多节点集群安装及测试
- 5节点Hadoop分布式集群搭建经验分享
- Hadoop分布式集群系统添加节点
- Hadoop2.2.0版本多节点集群及eclipse开发环境搭建