SecondaryNamenode配置与NameNode故障恢复

一、配置

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的变化

时间: 2024-11-03 21:51:18

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

Namenode和Secondarynamenode的关系

NameNode将对文件系统的改动追加保存到本地文件系统上的一个日志文件(edits).当一个NameNode启动时,它首先从一个映像文件(fsimage)中读取HDFS的状态,接着应用日志文件中的edits操作.然后它将新的HDFS状态写入(fsimage)中,并使用一个空的 edits文件开始正常操作.因为NameNode只有在启动阶段才合并fsimage和edits,所以一段时间后日志文件可能会变得非常庞大,特别是对大型的集群.日志文件太大的另一个副作用是下一次NameNode启动会花很长

配置SecondaryNameNode

refer to http://www.cnblogs.com/Richardzhu/p/3435568.html 一.SecondaryNameNode概念: 光从字面上来理解,很容易让一些初学者先入为主:SecondaryNameNode(snn)就是NameNode(nn)的热备进程.其实不是.ssn是HDFS架构中的一个组成部分,但是经常由于名字而被人误解它真正的用途,其实它真正的用途,是用来保存namenode中对HDFS metadata的信息的备份,并减少namenode重启的时间

Hadoop之HDFS(NameNode和SecondaryNameNode)(面试开发重点)

NameNode和SecondaryNameNode(面试开发重点) 1 NN和2NN工作机制 思考:NameNode中的元数据是存储在哪里的? 首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低.因此,元数据需要存放在内存中.但如果只存在内存中,一旦断电,元数据丢失,整个集群就无法工作了.因此产生在磁盘中备份元数据的FsImage. 这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,

利用SecondaryNameNode文件恢复Namenode-实践可行

二. namenode故障恢复(importCheckpoint) *注意事项: (1) 为了便于将随便一台datanode临时用作namenode,datanode和namenode配置需要一模一样包括conf目录下的所有文件.目录结构.环境变量 (2) 新namenode的主机名要与原namenode保持一致,主机名若是在hosts写死,需要批量替换datanode hosts文件 (用内部域名服务最好,改下域名指向即可) (3) fs.checkpoint.dir的内容非常重要,无法保证s

Hadoop学习之SecondaryNameNode

在启动Hadoop时,NameNode节点上会默认启动一个SecondaryNameNode进程,使用JSP命令可以查看到.SecondaryNameNode光从字面上理解,很容易让人认为是NameNode的热备进程.其实不是,SecondaryNameNode是HDFS架构中的一个组成部分.它并不是元数据节点出现问题时的备用节点,它和元数据节点负责不同的事情. 1.SecondaryNameNode节点的用途: 简单的说,SecondaryNameNode节点的主要功能是周期性将元数据节点的命

Hadoop 2.6.0 HA高可用集群配置详解

1 Hadoop HA架构详解 1.1 HDFS HA背景 HDFS集群中NameNode 存在单点故障(SPOF).对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无法使用,直到NameNode 重新启动. 影响HDFS集群不可用主要包括以下两种情况:一是NameNode机器宕机,将导致集群不可用,重启NameNode之后才可使用:二是计划内的NameNode节点软件或硬件升级,导致集群在短时间内不可用. 为了解决上述问题,Hadoop给出了HDFS的高

SecondaryNameNode 理解

NameNode将对文件系统的改动追加保存到本地文件系统上的一个日志文件(edits).当一个NameNode启动时,它首先从一个映像文件(fsimage)中读取HDFS的状态,接着应用日志文件中的edits操作.然后它将新的HDFS状态写入(fsimage)中,并使用一个空的 edits文件开始正常操作.因为NameNode只有在启动阶段才合并fsimage和edits,所以一段时间后日志文件可能会变得非常庞大,特别是对大型的集群.日志文件太大的另一个副作用是下一次NameNode启动会花很长

Hadoop SecondaryNameNode

[转]   1.概述 光从字面上来理解,很容易让一些初学者先入为主的认为:SecondaryNameNode(snn)就是NameNode(nn)的热备进程.X 其 实不是.snn是HDFS架构中的一个组成部分,但是经常由于名字而被人误解它真正的用途, 其实它真正的用途,是用来保存namenode中对HDFS metadata的信息的备份,并减少namenode重启的时间. 对于hadoop进程中 ,要配置好并正确的使用 snn,还是需要做一些工作的. hadoop的默认配置中让snn进程默认运

Hadoop-HA配置详细步骤

1. HA服务器配置 对hdfs做高可用 1.1服务器详情 服务器:centos7 Hadoop:2.6.5 Jdk:1.8 共四台服务器 192.168.1.111 node1 192.168.1.112 node2 192.168.1.113 node3 192.168.1.114 node4 在每台服务器的/etc/hosts文件中添加上边四行内容 服务器分配 NN DN ZK ZKFC JN RM DM Node1 1 1 1 1 Node2 1 1 1 1 1 1 Node3 1 1