HDFS-异常大全-《每日五分钟搞定大数据》

问题1:Decomminssioning退役datanode(即删除节点)
1.配置exclude:
<name>dfs.hosts.exclude</name>
<value>/data/hadoop/excludes</value>  
在/data/hadoop/excludes文件添加要退役的节点ip(可同时退役多个,一个一行)
2.配置完后刷新节点
# $HADOOP_HOME/bin/hadoop dfsadmin  -refreshNodes  
3.查看各节点状态
# $HADOOP_HOME/bin/hadoop dfsadmin -report  
4.进度可在HDFS的50070可视化界面的Decommissioning处查看
Under replicated blocks : 有备份的blocks
Blocks with no live replicas : 没有存活备份的blocks(存备份的datanode下线了)
Under Replicated Blocks In files under construction : 备份数不够的blocks
5.另外有暴力的方式:
直接停datanode,hadoop的balance机制会自动将备份数不足3份(可配置)的blocks重新备份,注意这个方式只可以一次停一台机器,不然可能会出现missing blocks。
问题2:出现corupt block,missing blocks
1.原因:
某个节点的datanode的blocks丢失,且没有副本
查看blocks信息以及有问题的blocks:
hdfs fsck / 
2.解决办法:
1)若是你停止了datanode且数据还没丢失则重启即可
2)数据丢失且其他节点没有副本则只能将这些blocks清理
hadoop fsck -move|-delete
3)出现这种情况可以尝试hdfs dfs -get 下载有问题的文件,若报错则只能用1)2)的方式解决,若可以get下来将文件重新put上去也可解决问题。
问题3:出现invalidate block
1.原因:
当触发NAMENODE的双活切换(active-namenode给zk的心跳超时会发生)
Datanode增量汇报该block-datanode映射给 namenode(切换后的active namenode)的时候,edit log还没从JournalNode同步过来,这时在namenode中已经有了block-datanode映射(从刚才datanode的report中来),但是还没有block-file映射(从edits文件里面来),导致namenode认为这个块不属于任何文件,定义为该块为invalidate block。
这个在后台日志可以查到(后台standby没有完全变成activenamenode之前,会出现包含 invalidate block 的后台日志。)
edits文件(包含block-file映射): 对于HDFS文件来说,包含的信息有修改时间、访问时间、块大小和组成一个文件块信息等;而对于目录来说,包含的信息主要有修改时间、访问控制权限等信息
2.解决办法:
重新上报block信息
hdfs dfsadmin -triggerBlockReport datanode_ip:port
评论不能及时回复可直接加公众号提问或交流,知无不答,谢谢 。
HDFS-异常大全-《每日五分钟搞定大数据》的更多相关文章
- zookeeper核心-zab协议-《每日五分钟搞定大数据》
		
上篇文章<paxos与一致性>说到zab是在paxos的基础上做了重要的改造,解决了一系列的问题,这一篇我们就来说下这个zab. zab协议的全称是ZooKeeper Atomic Bro ...
 - zookeeper-架构设计与角色分工-《每日五分钟搞定大数据》
		
本篇文章阅读时间5分钟左右 点击看<每日五分钟搞定大数据>完整思维导图 zookeeper作为一个分布式协调系统,很多组件都会依赖它,那么此时它的可用性就非常重要了,那么保证可用性的同 ...
 - zookeeper-操作与应用场景-《每日五分钟搞定大数据》
		
Zookeeper作为一个分布式协调系统提供了一项基本服务:分布式锁服务,分布式锁是分布式协调技术实现的核心内容.像配置管理.任务分发.组服务.分布式消息队列.分布式通知/协调等,这些应用实际上都是基 ...
 - zookeeper-如何修改源码-《每日五分钟搞定大数据》
		
本篇文章仅仅是起一个抛砖迎玉的作用,举一个如何修改源码的例子.文章的灵感来自 ZOOKEEPER-2784. 提一个问题先 之前的文章讲过zxid的设计,我们先复习下: zxid有64位,分成两部分: ...
 - zookeeper-监控与优化-《每日五分钟搞定大数据》
		
本文的命令和配置都是基于zookeeper-3.4.6版本.优化很多时候都是基于监控的,所以把这两个内容写在了一起,慢慢消化. 监控 简单地说,监控无非就是获取服务的一些指标,再根据实际业务情况给这些 ...
 - zookeeper-分布式锁的代码实现-【每日五分钟搞定大数据】
		
本文涉及到几个zookeeper简单的知识点,永久节点.有序节点.watch机制.比较基础,熟悉的就别看了跳过这篇吧 每个线程在/locks节点下创建一个临时有序节点test_lock_0000000 ...
 - redis- info调优入门-《每日五分钟搞定大数据》
		
本文根据redis的info命令查看redis的内存使用情况以及state状态,来观察redis的运行情况以及需要作出的相应优化. info 1.memory used_memory:13409011 ...
 - 五分钟搞定Go.js
		
五分钟搞定Go.js 1.基于html5~因为Go.js是一个依赖于HTML5特性的JavaScript库,所以需要确保您的页面声明它是一个HTML5文档,当然需要加载库 <!DOCTYPE ...
 - 五分钟搞定 HTTPS 配置,二哥手把手教
		
01.关于 FreeSSL.cn FreeSSL.cn 是一个免费提供 HTTPS 证书申请.HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证 ...
 
随机推荐
- MySQL常用查询语句积累
			
>>MySQL某列插入递增值 SET @i := 100; UPDATE auge_item_classification SET c_code=(@i:=(@i+1)); >> ...
 - 【转】Linux  高级的视角来查看Linux引导过程
			
[原文]https://www.toutiao.com/i6594210975480545800/ 1.概述 图 1 是我们在20,000 英尺的高度看到的视图. 当系统首次引导时,或系统被重置时,处 ...
 - [转]Java虚拟机是如何判断变量类型的
			
[原文]https://www.toutiao.com/i6591766777745637891/ 概述 众所周知,Java支持平台无关性.安全性和网络移动性.而Java平台由Java虚拟机和Java ...
 - apk静态注射[转]-未实践
			
原文:http://free0coding.iteye.com/blog/1684263 1.将需要注入的代码块打包成jar1,释放一个公共类的静态方法a 2.反编译apk得到smali文件,在适当 ...
 - 2017 SDN第一次作业
			
(1)我会选择的,因为网络现在越来越重要,各行各业都离不开网络,这个方向可以适合各种岗位,感觉比较容易就业.但选这个课是为了多学一点东西,没想太多,嘎嘎嘎. (2)SDNLAB,是一个SDN的大的中文 ...
 - Zookeeper入门(二)之基础
			
在深入了解ZooKeeper的运作之前,让我们来看看ZooKeeper的基本概念.本文主要包含如下内容:1.Architecture(架构)2.Hierarchical namespace(层次命名空 ...
 - dbca时报错:ORA-12705(NLS_LANG=AMERICAN_AMERICA.UTF8);
			
#add by zexport ORACLE_BASE=/u01/oracle export ORACLE_HOME=/u01/oracle/11.02 export ORACLE_SID=z exp ...
 - WorldWind源码剖析系列:地形瓦片类TerrainTile和地形瓦片服务类TerrainTileService
			
地形瓦片类TerrainTile 用来抽象封装用户漫游中所请求的地形瓦片数据类型. 地形瓦片服务类TerrainTileService提供了从BIL(Binary Interleaved by Lin ...
 - OpenCV——字符提取并保存
			
截取图中上方数码管中的数字 基本思路: 1.将图像转化为灰度图 2.截取ROI区域 3.二值化 4.循环遍历每一行和每一列,得到字符的坐标 5.截取并保存 #include <opencv2/o ...
 - Arduino入门笔记(3):单LED闪烁
			
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 在搭建好arduino开发环境(http://www.cnblogs.com/xi ...