`

hadoop如何恢复namenode

阅读更多
Namenode恢复

1.修改conf/core-site.xml,增加
Xml代码 复制代码 收藏代码
  1. <property>  
  2.         <name>fs.checkpoint.period</name>     
  3.         <value>3600</value>     
  4.         <description>The number of seconds between two periodic checkpoints.  </description>  
  5. </property>  
  6. <property>     
  7.         <name>fs.checkpoint.size</name>     
  8.         <value>67108864</value>     
  9.         <description>The size of the current edit log (in bytes) that triggers       a periodic checkpoint even if the fs.checkpoint.period hasn't expired.  </description>  
  10. </property>  
  11.   
  12. <property>     
  13.         <name>fs.checkpoint.dir</name>     
  14.         <value>/data/work/hdfs/namesecondary</value>     
  15.         <description>Determines where on the local filesystem the DFS secondary      name node should store the temporary images to merge.      If this is a comma-delimited list of directories then the image is      replicated in all of the directories for redundancy.  </description>  
  16. </property>  
        <property>
                <name>fs.checkpoint.period</name>  
                <value>3600</value>  
                <description>The number of seconds between two periodic checkpoints.  </description>
        </property>
        <property>  
                <name>fs.checkpoint.size</name>  
                <value>67108864</value>  
                <description>The size of the current edit log (in bytes) that triggers       a periodic checkpoint even if the fs.checkpoint.period hasn't expired.  </description>
        </property>

        <property>  
                <name>fs.checkpoint.dir</name>  
                <value>/data/work/hdfs/namesecondary</value>  
                <description>Determines where on the local filesystem the DFS secondary      name node should store the temporary images to merge.      If this is a comma-delimited list of directories then the image is      replicated in all of the directories for redundancy.  </description>
        </property>

fs.checkpoint.period表示多长时间记录一次hdfs的镜像。默认是1小时。
fs.checkpoint.size表示一次记录多大的size,默认64M

2.修改conf/hdfs-site.xml,增加
Xml代码 复制代码 收藏代码
  1. <property>     
  2.         <name>dfs.http.address</name>     
  3.         <value>master:50070</value>     
  4.         <description>    The address and the base port where the dfs namenode web ui will listen on.    If the port is 0 then the server will start on a free port.  </description>  
  5. </property>  
        <property>  
                <name>dfs.http.address</name>  
                <value>master:50070</value>  
                <description>    The address and the base port where the dfs namenode web ui will listen on.    If the port is 0 then the server will start on a free port.  </description>
        </property>

0.0.0.0改为namenode的IP地址

3.重启hadoop,然后检查是否启动是否成功。
登录secondarynamenode所在的机器,输入jps查看secondarynamenode进程
进入secondarynamenode的目录/data/work/hdfs/namesecondary
正确的结果:

如果没有,请耐心等待,只有到了设置的checkpoint的时间或者大小,才会生成。

4.恢复
制造namenode宕机的情况
1) kill 掉namenode的进程
Java代码 复制代码 收藏代码
  1. [root@master name]# jps   
  2. 11749 NameNode   
  3. 12339 Jps   
  4. 11905 JobTracker   
  5. [root@master name]# kill 11749  
[root@master name]# jps
11749 NameNode
12339 Jps
11905 JobTracker
[root@master name]# kill 11749


2)删除dfs.name.dir所指向的文件夹,这里是/data/work/hdfs/name
Java代码 复制代码 收藏代码
  1. [root@master name]# rm -rf *  
[root@master name]# rm -rf *

  删除name目录下的所有内容,但是必须保证name这个目录是存在的

3)从secondarynamenode远程拷贝namesecondary文件到namenode的namesecondary
Java代码 复制代码 收藏代码
  1. [root@master hdfs]# scp -r slave-001:/data/work/hdfs/namesecondary/ ./  
[root@master hdfs]# scp -r slave-001:/data/work/hdfs/namesecondary/ ./


4)启动namenode
Java代码 复制代码 收藏代码
  1. [root@master /data]# hadoop namenode –importCheckpoint  
[root@master /data]# hadoop namenode –importCheckpoint

正常启动以后,屏幕上会显示很多log,这个时候namenode就可以正常访问了

5)检查
使用hadoop fsck /user命令检查文件Block的完整性

6)停止namenode,使用crrl+C或者会话结束

7)删除namesecondary目录下的文件(保存干净)
Java代码 复制代码 收藏代码
  1. [root@master namesecondary]# rm -rf *  
[root@master namesecondary]# rm -rf *


8)正式启动namenode
Java代码 复制代码 收藏代码
  1. [root@master bin]# ./hadoop-daemon.sh  start namenode  
[root@master bin]# ./hadoop-daemon.sh  start namenode


恢复工作完成,检查hdfs的数据



balancer

在使用start-balancer.sh时,
默认使用1M/S(1048576)的速度移动数据(so slowly...)
修改hdfs-site.xml配置,这里我们使用的是20m/S
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>20971520</value>
<description>  Specifies the maximum bandwidth that each datanode can utilize for the balancing purpose in term of the number of bytes per second. </description>
</property>

然后结果是导致job运行变得不稳定,出现一些意外的长map单元,某些reduce时间处理变长(整个集群负载满满的情况下,外加20m/s的balance),据说淘宝的为10m/s,需要调整后实验,看看情况如何。

Java代码 复制代码 收藏代码
  1. hadoop balancer -threshold 5  
hadoop balancer -threshold 5



安全模式
有两个方法离开这种安全模式:
(1)修改dfs.safemode.threshold.pct为一个比较小的值,缺省是0.999。
dfs.safemode.threshold.pct(缺省值0.999f)
HDFS启动的时候,如果DataNode上报的block个数达到了元数据记录的block个数的0.999倍才可以离开安全模式,否则一直是这种只读模式。如果设为1则HDFS永远是处于SafeMode。

(2)hadoop dfsadmin -safemode leave命令强制离开
dfsadmin -safemode value 参数value的说明:
enter - 进入安全模式
leave - 强制NameNode离开安全模式
get -  返回安全模式是否开启的信息
wait - 等待,一直到安全模式结束。
  • 大小: 8.1 KB
分享到:
评论

相关推荐

    Hadoop Namenode恢复

    Hadoop Namenode恢复

    hadoop常见问题及解决办法

    在网上搜集的以及本人自己总结的hadoop集群常见问题及解决办法,融合了网上常常搜到的一些文档以及个人自己的经验。

    Hadoop Namenode性能诊断及优化

    Hadoop Namenode性能诊断及优化

    hadoop NameNode 源码解析

    hadoop NameNode 源码解析

    Hadoop之NameNode Federation图文详解

    今天小编就为大家分享一篇关于Hadoop之NameNode Federation图文详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    Hadoop中namenode和secondarynamenode工作机制讲解

    今天小编就为大家分享一篇关于Hadoop中namenode和secondarynamenode工作机制讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    jadehadoophdfs:与HADOOP的namenode通信的JADE代理

    与HADOOP的namenode通信的JADE代理 为了使用此代码,需要满足几个要求: 配置并运行Hadoop集群 配置和构建的JADE环境 配置的log4j环境 接下来,在compilestart.sh脚本中进行适当的更改。 指定jade主目录的路径,*。...

    基于hadoop2.85的hive2.3.4安装

    安装hive前提是要先安装hadoop集群,并且hive只需要再hadoop的namenode节点集群里安装即可(需要再所有namenode上安装),可以不在datanode节点的机器上安装。另外还需要说明的是,虽然修改配置文件并不需要你已经把...

    hadoop namenode双机热备

    drbd+heartbeat+hadoop+apache配置详细奥

    hadoop2.0 2个namenode 2个datanode 部署

    1. Hadoop 2.0 2. 部署在2个Ubuntu上 3. 2个namenode 2个datanode

    王家林的“云计算分布式大数据Hadoop第九讲Hadoop图文训练课程:剖析NameNode和Secondary NameNode的工作机制和流程.

    王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第九讲Hadoop图文训练课程:剖析NameNode和Secondary NameNode的工作机制和流程. 此教程来自于王家林免费发布的3本Hadoop教程:云计算分布式大数据...

    hadoop-2.8.4源码

    hadoop2.8.4源码

    hadoop安装过程中的问题

    6.hadoop namenode format 7./hadoop/etc/slaves这个文件里必须把所有的slaves的主机名写进去。 8.mast的/etc/hosts slave1的/etc/hosts slave2 的/etc/hosts (localhost: 127.0.0.1可以去掉,只写主机名对应的IP...

    hadoop-管理

    2.处理hadoop的namenode宕机 ./hadoop-daemon.sh start namenode ./hadoop-daemon.sh start tasktracker 3.如果是新添加一个节点,需要执行以下步骤: 首先,把新节点的 IP或主机名 加入主节点(master)的 conf/...

    Hadoop大数据期末考试重点

    Hadoop大数据期末考试重点,选择、判断、简答

    运行成功的hadoop配置文件

    Without "hadoop namenode -format" 目录结构: /data/hadoop 为工作目录,实际为一个链接(link) /data/hadoop-0.19.1 为实际0.19.1的安装目录 /data/hadoop-0.20.1 为实际0.20.1的安装目录 /data/hadoop-0.19.1的...

    Hadoop3.2.2资源包+安装文档

    容错 Hadoop 2.x - 可以通过复制(浪费空间)来处理容错。 Hadoop 3.x - 可以通过Erasure编码处理容错。...Hadoop 3.x - 具有SPOF的功能,因此只要Namenode失败,它就会自动恢复,无需人工干预就可以克服它。

    hadoop3.3.3-winutils

    (1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。 (2)DataNode(dn):在本地文件系统存储文件块数据,以及...

    hadoop2.4.1三台机器分布式安装

    weekend01 192.168.1.201 jdk、hadoop NameNode、DFSZKFailoverController(zkfc) weekend02 192.168.1.202 jdk、hadoop NameNode、DFSZKFailoverController(zkfc) weekend03 192.168.1.203 jdk、hadoop ...

    Hadoop-2.0-NameNode-HA和Federation实践1

    二、为什么需要HA和Federation单点故障在Hadoop 2.0之前,也有若干技术试图解决单点故障的问题,我们在这里做个简短的总结Secondary Na

Global site tag (gtag.js) - Google Analytics