退役dn2
echo "dn2" >>excludes

echo "dn2" >>yarn-excludes

sh refresh-namenodes.sh

(注:hdfs dfsadmin -refreshnodes和上述脚本实质是一致的,但是使用本命令退役失败,原因待研究)

yarn rmadmin -refreshNodes

注意事项:执行完命令后,hadoop会确保dn2上的blk都在其他借点上保留了符合副本数的副本,此过程为Decommissioning,这一过程结束后出现Decommissioned的状态,才算退役成功,一般生产中,Decommissioning状态时间较长

遇到的问题:

遇到了如下问题

************************************************************

内容引自http://www.freeoa.net/osuport/db/my-hbase-usage-problem-sets_2979.html

11、hadoop decommission时因block的replicas不够时久不能退役

hadoop

decommission一个节点Datanode,几万个block都同步过去了,但是唯独剩下2个block一直停留在哪,导致该节点几个小时也无法
下线。hadoop UI中显示在Under Replicated Blocks里面有2个块始终无法消除。

Under Replicated Blocks 2 Under Replicated Blocks In Files Under Construction 2

Under Replicated Blocks 2
Under Replicated Blocks In Files Under Construction 2

Namenode日志里面一直有这样的滚动:
2015-01-20
15:04:47,978 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem:
Block: blk_8859027644264991843_26141120, Expected Replicas: 3, live
replicas: 2, corrupt replicas: 0, decommissioned replicas: 1, excess
replicas: 0, Is Open File: true, Datanodes having this block:
10.11.12.13:50010 10.11.12.14:50010 10.11.12.15:50010 , Current
Datanode: 10.11.12.13:50010, Is current datanode decommissioning: true

2015-01-20
15:04:47,978 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem:
Block: blk_8859027644264991843_26141120,Expected Replicas: 3, live
replicas: 2, corrupt replicas: 0, decommissioned replicas: 1, excess
replicas: 0, Is Open File: true, Datanodes having this block:
10.11.12.13:50010 10.11.12.14:50010 10.11.12.15:50010 , Current
Datanode: 10.11.12.13:50010, Is current datanode decommissioning:true

google了好久,貌似是一个hadoop的bug,https://issues.apache.org/jira/browse/HDFS-5579
NameNode发现block的Replicas不够(期待应该有3个,实际有两个),或许是namenode认为数据不完整,执着地不让这个DataNode下架。。。

最终尝试如下方式解决,把replications设置成2:
hadoop fs -setrep -R 2 /

执行完后很快,该节点就下线了,神奇的replications。

************************************************************

但是我们的系统本身设置的副本数就是2,如果再设成1,感觉很不安全,加上仅剩8个block未完成,因此直接stop了dn应用。

dn节点网络修复后,启动dn,直接进入decommissioned状态,怀疑是bug;

下次遇到这种情况,hdfs fsck / -files -blocks -locations >a.log

将有问题文件的副本系数先升再降,看能否解决问题,待实验

hadoop在线退役datanode的更多相关文章

  1. Hadoop问题:DataNode进程不见了

      DataNode进程不见了 问题描述 最近配置Hadoop的时候出现了这么一个现象,启动之后,使用jps命令之后是这样的: 看不到DataNode进程,但是能够正常的工作,是不是很神奇啊? 在一番 ...

  2. org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in receiveBlock for block

    Hbase依赖的datanode日志中如果出现如下报错信息:DataXceiverjava.io.EOFException: INFO org.apache.hadoop.hdfs.server.da ...

  3. 当Hadoop 启动节点Datanode失败解决

    Hadoop 启动节点Datanode失败解决 [日期:2014-11-01] 来源:Linux社区  作者:shuideyidi [字体:大 中 小] 当我动态添加一个Hadoop从节点的之后,出现 ...

  4. Datanode启动问题 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering>

    -- ::, INFO org.apache.hadoop.hdfs.server.datanode.DataNode: supergroup = supergroup -- ::, INFO org ...

  5. Hadoop添加节点datanode(生产环境)

    Hadoop添加节点datanode 博客分类: hadoop HadoopSSHJDKXML工作  1.部署hadoop    和普通的datanode一样.安装jdk,ssh  2.修改host  ...

  6. ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Incompatible namespaceIDs

    用三台centos操作系统的机器搭建了一个hadoop的分布式集群.启动服务后失败,查看datanode的日志,提示错误:ERROR org.apache.hadoop.hdfs.server.dat ...

  7. FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to controller/192.168.1.183:9000. Exiting. java.io.IOExcep

    2018-01-09 09:47:38,297 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed ...

  8. 启动Hadoop时,DataNode启动后一会儿自动消失的解决方法

    查看slaver1/2的logs,发现 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for ...

  9. Hadoop记录-退役

    一.datanode添加新节点 1.在dfs.include文件中包含新节点名称,该文件在名称节点的本地目录下 [白名单] [/app/hadoop/etc/hadoop/dfs.include] 2 ...

随机推荐

  1. oc69--NSMutableString

    // main.m // NSMutableString基本概念,NSString是不可变字符串,NSMutableString是可变字符串.NSMutableString继承NSString,所以N ...

  2. tiny4412学习(四)之移植linux-设备树(1)设备树基础知识及GPIO中断【转】

    本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/74177978 版权声明:本文为博主原创文章,转载请注明http://blog.c ...

  3. new Modifier (C# Reference)

    https://msdn.microsoft.com/en-us/library/435f1dw2.aspx When used as a declaration modifier, the new  ...

  4. luogu 3690 【模板】 Link Cut Tree (动态树)

    原来的代码有一些问题. 主要是对于不一定存在的边如何去判断,首先要保证在一个splay里,然后保证彼此之间直接联通且x的右儿子是空的 #include<iostream> #include ...

  5. POJ Area of Simple Polygons 扫描线

    这个题lba等神犇说可以不用离散化,但是我就是要用. 题干: Description There are N, <= N <= , rectangles -D xy-plane. The ...

  6. 9.28NOIP模拟题

    9.28NOIP模拟题 题目 哈 哈哈 哈哈哈 英文题目与子目录名 ha haha hahaha 单个测试点时间限制 1秒 1秒 1秒 内存限制 256M 128M 64M 测试点数目 10 10 1 ...

  7. P3299 [SDOI2013]保护出题人

    传送门 全世界都会二分可海星-- 首先记\(sum[i]\)为\(a[i]\)的前缀和,那么第\(i\)个的答案就是\(max\{\frac{sum[i]-sum[j-1]}{x+(i-j)d}\}\ ...

  8. 如何看待B站疑似源码泄漏的问题?

    今天突然看到关于B站源码泄漏事.网曝B站整个网站后台工程源码遭泄露,开源项目平台Github上疑似出现了Bilibili网站后台工程,内含部分用户名密码.目前官方还没对此事作出任何回应,所以还无法确定 ...

  9. Coursera公开课-Machine_learing:编程作业

    第二周编程作业:Linear Regression 分为单一变量和多变量,假想函数为:hθ(x)=θ0+θ1x1+θ2x2+θ3x3+⋯+θnxn.明显已经包含单一变量的情况,所以完成多变量可以一并解 ...

  10. 执行update, insert,delete 语句, 不返回结果集,(类型化参数)

    /// <summary> /// 执行update, insert,delete 语句, 不返回结果集,(类型化参数) /// </summary> /// <para ...