退役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. Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图

    Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图 Bing Maps Silverlight Control虽然为我们提供了简洁.方面的开 ...

  2. jsp注释前台不可见

    <%-- <div class="content"></div> --%>

  3. LuoguP4246 [SHOI2008]堵塞的交通

    https://zybuluo.com/ysner/note/1125078 题面 给一个网格,每次把相邻两点连通性改为\(1\)或\(0\),询问两点是否联通. 解析 线段树神题... 码量巨大,细 ...

  4. bzoj2730矿场搭建(Tarjan割点)

    2730: [HNOI2012]矿场搭建 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1771  Solved: 835[Submit][Statu ...

  5. 爬虫—Ajax数据爬取

    一.什么是Ajax 有时候我们使用浏览器查看页面正常显示的数据与使用requests抓取页面得到的数据不一致,这是因为requests获取的是原始的HTML文档,而浏览器中的页面是经过JavaScri ...

  6. Linux 下 Solr的搭建与使用(建议jdk1.8以上)

    官方表示solr5之后的版本不再提供对第三方容器的支持(不提供war包了). “旧式”solr.xml格式不再支持,核心必须使用core.properties文件定义. 使用第三方容器的需要自己手动修 ...

  7. Android中有四大组件的简单总结

    Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity ...

  8. MySQL关于视图的创建

    -- 视图就是一条select 语句 执行后返回结果集,是一种虚拟表,是一个逻辑表 -- 方便操作,减少复杂的SQL语句,增加可读性,更加安全一些 create view demo_view as s ...

  9. Linux+Apache+PHP+MySQL服务器环境配置(CentOS篇)

    1.配置php.ini vi /etc/php.ini 2.配置apache 先给需要配置的文件做个备份 cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/h ...

  10. Android popwindow 消失监听

    LisviewPop.setOnDismissListener(new OnDismissListener() { @Override public void onDismiss() { //改变显示 ...