`

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性能诊断及优化 #### 一、Namenode简介与性能挑战 Hadoop作为大数据处理领域的核心技术之一,其分布式文件系统HDFS(Hadoop Distributed File System)是整个框架的重要组成部分。HDFS主要由两...

    hadoop常见问题及解决办法

    问题描述:Hadoop Namenode处于安全模式。 解决办法:该问题是由于Namenode处于安全模式所致。解决办法是检查Namenode的日志文件,确定问题所在,然后采取相应的解决措施。 Hadoop常见问题的解决办法是多方面的,...

    hadoop NameNode 源码解析

    Hadoop NameNode 源码解析 Hadoop 的 NameNode 是 Hadoop 分布式文件系统(HDFS)的核心组件之一,负责管理文件系统的 namespace 和数据块的存储位置。在本文中,我们将深入探讨 Hadoop NameNode 的源码,了解其...

    Hadoop Namenode恢复

    Hadoop Namenode 恢复 Hadoop Namenode 是 Hadoop 分布式文件系统的核心组件之一,负责管理文件系统的命名空间。然而,在生产环境中,namenode 的崩溃可能会导致整个集群的不可用。因此,namenode 的恢复是非常重要...

    hadoop namenode双机热备

    在IT行业中,高可用性是关键,特别是在大数据处理领域,Hadoop作为分布式计算框架,其NameNode节点的稳定性至关重要。"hadoop namenode双机热备"是为确保Hadoop集群持续运行而采取的一种重要策略,通过双机热备可以...

    Hadoop之NameNode Federation图文详解

    Hadoop之NameNode Federation图文详解 Hadoop的NameNode Federation是HDFS(Hadoop Distributed File System)中的一种架构设计,旨在解决NameNode的扩展性、隔离性和性能问题。本篇文章将对NameNode Federation的...

    Hadoop安装与配置详细教程(Linux)

    【Hadoop安装与配置详细教程(Linux)】 Hadoop是一个开源的分布式计算框架,广泛应用于大数据处理。在Linux环境下安装和配置Hadoop是一项基础但重要的任务,尤其对于那些需要处理大规模数据的组织。本文将详细介绍...

    Hadoop中namenode和secondarynamenode工作机制讲解

    它不会直接处理客户端的请求,其主要功能是定期合并namenode的编辑日志(edits)和命名空间镜像(FSImage),以防止编辑日志过大,减轻namenode的工作压力,并提供一种恢复机制。在发生故障时,可以使用...

    hadoop2.0 2个namenode 2个datanode 部署

    Hadoop 2.0 双 Namenode 双 Datanode 部署 Hadoop 是一个开源的大数据处理框架,它提供了分布式文件系统(HDFS)和Map/Reduce 计算框架。 在这个部署中,我们将使用 Hadoop 2.0 在两个 Ubuntu 服务器上部署双 ...

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

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

    hadoop配置

    6. "hadoop如何恢复namenode.shtml" - 提供了NameNode故障后的恢复指南,NameNode是Hadoop集群的关键组件,确保其正常运行对于整个系统至关重要。 7. "hadoop配置.txt" - 可能是作者整理的一份Hadoop配置详解,包含...

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

    在Hadoop 2.0中,NameNode的High Availability(HA)和Federation是为了解决传统Hadoop架构中的两个关键问题:单点故障和集群扩展性。在Hadoop 2.0之前,NameNode作为HDFS的核心组件,它的单点故障可能导致整个...

    Hadoop大数据期末考试重点

    4. **Secondary NameNode的作用**:Secondary NameNode并非用于缩短Hadoop集群启动时间,而是辅助NameNode合并编辑日志,减少NameNode的重启时间。 5. **Hadoop的硬件需求与可靠性**:Hadoop设计允许在普通硬件上...

    HDFS中NameNode节点的配置、备份和恢复.doc

    HDFS 中 NameNode 节点的配置、备份和恢复 HDFS(Hadoop Distributed File System)是 Hadoop 生态系统中的分布式文件系统,它提供了高效、可靠、可扩展的文件存储解决方案。 NameNode 是 HDFS 集群中的中心服务器...

    Hadoop NameNode的守护者:集群单点故障的解决之道

    ### Hadoop Hadoop是一个开源框架,由Apache软件基金会开发,用于在普通硬件集群上存储和处理大量数据。它的核心组件包括: 1. **Hadoop Distributed File System (HDFS)** - 一个分布式文件系统,设计用于在多个...

    hadoop-2.8.4源码

    在Hadoop 2.8.4源码中,我们可以看到HDFS的设计理念,包括数据块的复制策略、心跳机制、数据节点和名称节点的交互过程,以及故障检测和恢复机制。通过分析源码,我们可以了解到如何实现数据的高可用性和容错性。 ...

    Hadoop守护者:NameNode与DataNode故障恢复全攻略

    ### Hadoop Hadoop是一个开源框架,由Apache软件基金会开发,用于在普通硬件集群上存储和处理大量数据。它的核心组件包括: 1. **Hadoop Distributed File System (HDFS)** - 一个分布式文件系统,设计用于在多个...

    HADOOP安装部署文档

    Hadoop的NameNode通过SSH启动和停止DataNode上的进程。为了无密码连接,需要在所有节点间配置SSH无密码公钥认证。启动SSH服务,生成私钥和公钥,将公钥复制到其他节点,使得节点间可以通过公钥进行身份验证。 在...

Global site tag (gtag.js) - Google Analytics