设为首页 收藏本站
查看: 1275|回复: 0

[经验分享] hadoop恢复记录-转载

[复制链接]

尚未签到

发表于 2015-7-13 08:51:36 | 显示全部楼层 |阅读模式
摘自:http://hmilyzhangl.iteye.com/blog/1407214
一.崩溃原因
  搭建的是一个hadoop测试集群,所以将数据备份参数设置为dfs.replication=1,这样如果有一台datanode损坏的话,数据 就会失去。但不幸的是,刚好就有一台机器由于负载过高,导致数据操坏。进而后面需要重启整个hadoop集群,重启后启动namenode启动不了。报如 下错误:
  



Java代码 DSC0000.gif    DSC0001.png

  • FSNamesystem initialization failed saveLeases found path    /tmp/xxx/aaa.txt but no matching entry in namespace.   



Java代码   DSC0002.png

  • FSNamesystem initialization failed saveLeases found path    /tmp/xxx/aaa.txt but no matching entry in namespace.  
  
二.修复namenode
  
  hadoop 集群崩溃了. 导致namenode启动不了.
  
  1. 删除 namenode主节点的metadata配置目录
  rm -fr /data/hadoop-tmp/hadoop-hadoop/dfs/name
  
  2. 启动secondnamenode
  使用start-all.sh命令启动secondnamenode,namenode的启动不了不管
  
  3. 从secondnamenode恢复
  使用命令: hadoop namenode -importCheckpoint
  
  
  恢复过程中,发现数据文件有些已经损坏(因为dfs.replication=1),所以一直无法退出安全模式(safemode),一直报如下提示:
  



Java代码   

  • The ratio of reported blocks  0.8866  has not reached the threshold  0.9990 . Safe mode will be turned off automatically.   



Java代码  

  • The ratio of reported blocks 0.8866 has not reached the threshold 0.9990. Safe mode will be turned off automatically.  
  
  
  4.强制退出safemode
  
  



Java代码   

  • hadoop dfsadmin -safemode leave   



Java代码  

  • hadoop dfsadmin -safemode leave  
  
  最后启动成功,查看hdfs网页报警告信息:
  
  



Java代码   

  • WARNING : There are about  257  missing blocks. Please check the log or run fsck.   



Java代码  

  • WARNING : There are about 257 missing blocks. Please check the log or run fsck.  
  
  
  5.检查损坏的hdfs文件列表
  
  使用命令可以打印出损坏的文件列表:
  



Java代码   

  • ./hadoop fsck /   



Java代码  

  • ./hadoop fsck /  
  打印结果:
  
  
  



Java代码   

  • /user/hive/warehouse/pay_consume_orgi/dt= 2011 - 06 - 28 /consume_2011- 06 - 28 .sql: MISSING  1  blocks of total size  1250990  B..   
  • /user/hive/warehouse/pay_consume_orgi/dt= 2011 - 06 - 29 /consume_2011- 06 - 29 .sql: CORRUPT block blk_977550919055291594   
  •   
  • /user/hive/warehouse/pay_consume_orgi/dt= 2011 - 06 - 29 /consume_2011- 06 - 29 .sql: MISSING  1  blocks of total size  1307147  B..................Status: CORRUPT   
  • Total size:     235982871209  B   
  • Total dirs:     1213   
  • Total files:    1422   
  • Total blocks (validated):       4550  (avg. block size  51864367  B)   
  •   ********************************   
  •   CORRUPT FILES:         277   
  •   MISSING BLOCKS:        509   
  •   MISSING SIZE:          21857003415  B   
  •   CORRUPT BLOCKS:        509   
  •   ********************************  



Java代码  

  • /user/hive/warehouse/pay_consume_orgi/dt=2011-06-28/consume_2011-06-28.sql: MISSING 1 blocks of total size 1250990 B..  
  • /user/hive/warehouse/pay_consume_orgi/dt=2011-06-29/consume_2011-06-29.sql: CORRUPT block blk_977550919055291594  
  •   
  • /user/hive/warehouse/pay_consume_orgi/dt=2011-06-29/consume_2011-06-29.sql: MISSING 1 blocks of total size 1307147 B..................Status: CORRUPT  
  • Total size:    235982871209 B  
  • Total dirs:    1213  
  • Total files:   1422  
  • Total blocks (validated):      4550 (avg. block size 51864367 B)  
  •   ********************************  
  •   CORRUPT FILES:        277  
  •   MISSING BLOCKS:       509  
  •   MISSING SIZE:         21857003415 B  
  •   CORRUPT BLOCKS:       509  
  •   ********************************  
  没有冗余备份,只能删除损坏的文件,使用命令:



Java代码   

  • ./hadoop fsck --delete   



Java代码  

  • ./hadoop fsck --delete  
  
  
三.总结
  
  一定需要将你的secondnamenode及namenode分开在不同两台机器运行,增加namenode的容错性。以便在集群崩溃时可以从secondnamenode恢复数据.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-85994-1-1.html 上篇帖子: eclipse下编译hadoop源代码(转) 下篇帖子: CentOS系统下Hadoop 2.4.1集群安装配置(简易版)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表