一、配置

1. 在masters文件中添加 Secondary节点的主机名。

*注:masters文件用于指定secondary的主机而不是namenode,slaves用于指定datanode和tasktracker,

namenode由core-site.xml fs.default.name指定,jobtracker由mapred-site.xml mapred.job.tracker指定

2. 修改hdfs-site.xml文件

<property>  
    <name>dfs.http.address</name>  
    <value>${your-namenode}:50070</value>  
    <description>Secondary get fsimage and edits via dfs.http.address</description>  
</property>  
<property>  
    <name>dfs.secondary.http.address</name>  
    <value>${your-secondarynamenode}:50090</value>  
    <description>NameNode get the newest fsimage via dfs.secondary.http.address</description>  
</property>

*注:

  1. 实际上dfs.http.address只在secondary设置,dfs.secondary.http.address只在namenode上设置即可,为了便于管理,集群所有机器同样配置
  2. 采用默认端口(namenode:50070,secondary:50090)时可以省略该配置

2. 修改core-site.xml文件

<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>${Hadoop.tmp.dir}/dfs/namesecondary</value>  
    <description>Determines where on the local filesystem the DFS secondary namenode 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>

*注:该配置在secondary设置即可,为了便于管理,集群所有机器同样配置

3. 重启hdfs,检查是否正常启动

(*注:这一步也可以不重启hdfs,在secondary上直接  sh $HADOOP_HOME/bin/hadoop-daemon.sh start secondarynamenode  启动secondaryNamenode)

(1)重启

sh $HADOOP_HOME/bin/stop-dfs.sh

sh $HADOOP_HOME/bin/start-dfs.sh

(2)检查uri

http://namenode:50070/  #检查namenode

http://sencondnamenode:50090/ #检查secondary

(3)检查目录

检查dfs.name.dir namenode:/data1/hadoop/name

current

image

previous.checkpoint

in_use.lock #主要看时候有这个文件,文件时间戳表示namenode启动时间

检查fs.checkpoint.dir secondary:${hadoop.tmp.dir}/dfs/namesecondary

current

image

in_use.lock #主要看时候有这个文件,文件时间戳表示secondnamenode启动时间

(4) 检查checkpoint是否正常

为便于测试,调整参数fs.checkpoint.period=60,fs.checkpoint.size=10240

对hdfs做一些文件增删操作,看${dfs.name.dir}/current/edits 和 ${fs.checkpoint.dir}/current/edits的变化

SecondaryNamenode配置与NameNode故障恢复的更多相关文章

  1. 将 SecondaryNameNode 配置到 s105 节点上

    相关链接  Hadoop 完全分布式安装 0. 说明 SecondaryNameNode 的作用  参考[待补充] 在 Hadoop 完全分布式的基础之上配置 将 SecondaryNameNode ...

  2. 从 secondarynamenode 中恢复 namenode

    1.修改 conf/core-site.xml,增加 Xml代码 <property> <name>fs.checkpoint.period</name> < ...

  3. HDFS【Namenode、SecondaryNamenode、Datanode】

    目录 一. NameNode和SecondaryNameNode 1.NN和2NN 工作机制 2. NN和2NN中的fsimage.edits分析 3.checkpoint设置 4.namenode故 ...

  4. 配置SecondaryNameNode

    一.SecondaryNameNode概念: 光从字面上来理解,很容易让一些初学者先入为主:SecondaryNameNode(snn)就是NameNode(nn)的热备进程.其实不是.ssn是HDF ...

  5. NameNode和SecondaryNameNode工作原理剖析

    NameNode和SecondaryNameNode工作原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.NameNode中的元数据是存储在那里的? 1>.首先,我 ...

  6. NameNode 与 SecondaryNameNode 的工作机制

    一.NameNode.Fsimage .Edits 和 SecondaryNameNode 概述 NameNode:在内存中储存 HDFS 文件的元数据信息(目录) 如果节点故障或断电,存在内存中的数 ...

  7. [HDFS_add_2] SecondaryNameNode 滚动 NameNode 数据流程

    0. 说明 在 将 SecondaryNameNode 配置到 s105 节点上 的基础上进行 SecondaryNameNode 滚动 NameNode 数据流程 分析 1. SecondaryNa ...

  8. 浅谈HDFS(二)之NameNode与SecondaryNameNode

    NN与2NN工作机制 思考:NameNode中的元数据是存储在哪里的? 假设存储在NameNode节点的硬盘中,因为经常需要随机访问和响应客户请求,必然效率太低,所以是存储在内存中的 但是,如果存储在 ...

  9. NameNode和SecondaryNameNode

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/weixin_37838429/artic ...

随机推荐

  1. NeHe OpenGL教程 第三十四课:地形

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. 如何判断TCP包是否发送成功

    1. TCP发送接口:send() TCP发送数据的接口有send,write,sendmsg.在系统内核中这些函数有一个统一的入口,即sock_sendmsg().由于TCP是可靠传输,所以对TCP ...

  3. [实变函数]3.2 可测集 (measurable set)

    1 $\bbR^n$ 中集合 $E$ 称为可测的 (measurable), 如果 $$\bee\label{3.2:Caratheodory} m^*T=m^*(T\cap E)+m^*(T\cap ...

  4. nginx重写规则报nginx: [emerg] directive "rewrite" is not terminated by ";"

    对于下面的重写规则 rewrite ^/gongying/([\d]{8})_([\d]+).html$ /index.php?app=support&act=view&pts=$1& ...

  5. 转--android Toast大全(五种情形)建立属于你自己的Toast

    Toast用于向用户显示一些帮助/提示.下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast. 1.默认效果 代码 Toast.makeText(getApplicationCo ...

  6. 【转】select和epoll模型的差异

    http://www.cppblog.com/converse/archive/2008/10/12/63836.html epoll为什么这么快 epoll是多路复用IO(I/O Multiplex ...

  7. Spring中bean的配置

    先从IOC说起,这个概念其实是从我们平常new一个对象的对立面来说的,我们平常使用对象的时候,一般都是直接使用关键字类new一个对象,那这样有什么坏处呢?其实很显然的,使用new那么就表示当前模块已经 ...

  8. vim常用命令笔记(转载)

    添加多行注释:   1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;   2. 在行首使用上下键选择需要注释的多行;   3. 按下键盘(大写)“I”键,进入插入模式 ...

  9. [AIR] Screen 的应用

    Screen 类提供此应用程序的可用显示屏幕的相关信息. 屏幕是位于可能更大的“虚拟桌面”内的独立桌面区域.虚拟桌面的原点是操作系统指定的主屏幕的左上角.因此,个别显示屏幕范围的坐标可能是负数.虚拟桌 ...

  10. [Flex] ButtonBar系列——flex3 皮肤和外观设置

    <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="h ...