热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Namenode元数据损坏恢复

namenode无数据损坏一般是磁盘损坏,或者是其它操作导致namenode数据丢失。如果发生文件损坏或者丢失,有如下两种方法可以恢复。前提是有secondarynamenode1

namenode无数据损坏一般是磁盘损坏,或者是其它操作导致namenode数据丢失。如果发生文件损坏或者丢失,有如下两种方法可以恢复。前提是有secondarynamenode

1、Namenode所在机器服务正常

如果namenode所在机器服务正常,只是磁盘损坏,或者数据丢失。则可以此方法。

在namenode机器上(现网为132.37.8.136)操作以下步骤:

1、如果hadoop进程不存在,先启动start-all.sh。如果存在直接执行后面操作

2、namenode镜像所在的目录下(现网为/hadoopdata/data)内容清空。

3、执行 hadoop namenode -importCheckpoint命令(界面可能出去一些错误日志)

4、stop-all.sh

5、执行jps查看有没有组件存在(如 namenode等),如果有kill -9 强行停止。

6、start-all.sh  在界面上即可查看到相关信息

 

2、 Namenode所在机器服务异常

如果namenode所在机器出现问题(如 无法开机、网络有故障、硬件故障等导致此台机器不能再继续使用)。此时需要将namenode替换成其它机器。

1、停掉Hadoop及相关集群
2、备份secondarynamenode所在机器上dfs.name.dir所指向的目录(/hadoopdata/data)及文件
3、修改集群每一台机器上$HADOOP_HOME/conf/下配置文件
 •修改core-site.xml中fs.default.name,将原hostname改为新主机hostname
 •修改mapred-site.xml中mapred.job.tracker,将原hostname改为新主机hostname
 •检查slaves文件和master文件(因为很多时候是从原集群中剥离一台机器,所以要特别注意是否有遗漏)
4、建立新Namenode到其自身及其他Datanode节点间的互信
5、 将第2步中备份的文件拷贝到新Namenode节点,且按照原Namenode文件结构放置文件(需要将secondarynamenode机器上复制的dfs文件夹下的namesecondary改为name)。
6、将第3步中修改后的配置文件分发到其他Datanode节点(也可以手动修改其他机器)
7、 start-all.sh启动HDFS,查看NameNode、SecondaryNameNode和各个DataNode状态是否正常


推荐阅读
  • 对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例为了方便查看源代码,关联导入源代 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Hadoop 源码学习笔记(4)Hdfs 数据读写流程分析
    Hdfs的数据模型在对读写流程进行分析之前,我们需要先对Hdfs的数据模型有一个简单的认知。数据模型如上图所示,在NameNode中有一个唯一的FSDirectory类负责维护文件 ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • Maven构建Hadoop,
    Maven构建Hadoop工程阅读目录序Maven安装构建示例下载系列索引 序  上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • 伸缩性|发生_分布式文件系统设计,该从哪些方面考虑?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了分布式文件系统设计,该从哪些方面考虑?相关的知识,希望对你有一定的参考价值。点击上方关注“ ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
author-avatar
zwliang19
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有