secondaryNamenode配置与nameNode故障恢复
来源:互联网 发布:练瑜伽穿什么衣服知乎 编辑:程序博客网 时间:2024/05/21 17:37
*注:本文基于0.20.2配置测试,0.21以后已改成Checkpoint Node和Backup Node
一、配置
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文件
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、采用默认端口(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,检查是否正常启动
3. 重启hdfs,检查是否正常启动
(*注:这一步也可以不重启hdfs,在secondary上直接 sh $HADOOP_HOME/bin/hadoop-daemon.sh start secondarynamenode 启动secondaryNamenode)
(1)重启
sh $HADOOP_HOME/bin/stop-dfs.shsh $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的变化
二、 namenode故障恢复(importCheckpoint)
*注意事项:
(1) 为了便于将随便一台datanode临时用作namenode,datanode和namenode配置需要一模一样包括conf目录下的所有文件、目录结构、环境变量
(2) 新namenode的主机名要与原namenode保持一致,主机名若是在hosts写死,需要批量替换datanode hosts文件 (用内部域名服务最好,改下域名指向即可)
(3) fs.checkpoint.dir的内容非常重要,无法保证secondnamenode不出故障,所以需要定期对secondnamenode fs.checkpoint.dir的内容做备份
(4) 最近一次check至故障发生这段时间的内容将丢失,fs.checkpoint.period参数值需要权衡,既不太频繁又尽可能保证数据完整,默认1小时
恢复步骤:
(0) 可选,当namenode主机名发生变化时(为了不影响应用,最好不好发生变化),需修改:
[core-site.xml] fs.default.name = 新namenode
[hdfs-site.xml] dfs.http.address = 新namenode
[mapred-site.xml]mapred.job.tracker = 新jobtracker, 如果jobtracker与namenode在同一台机器上
(1) 确保新namenode ${dfs.name.dir}目录存在,且清空其内容
(2) 把SecondaryNameNode节点中 ${fs.checkpoint.dir} 的所有内容拷贝到新的NameNode节点的 ${fs.checkpoint.dir} 目录中
(3) 在新机器上执行
hadoop namenode -importCheckpoint
该步会从${fs.checkpoint.dir}中恢复${dfs.name.dir},并请动namenode
(4) 检查文件block完整性
hadoop fsck /
(5) 停止namenode,使用crrl+C或者会话结束
(6) 删除新namenode ${fs.checkpoint.dir}目录下的文件(保持干净)
(7) 正式启动namenode,恢复工作完成
sh $HADOOP_HOME/bin/hadoop_daemon.sh start namenode
- secondaryNamenode配置与nameNode故障恢复
- 通过secondarynamenode恢复Namenode
- hadoop 根据SecondaryNameNode恢复Namenode
- hadoop 根据SecondaryNameNode恢复Namenode
- hadoop 根据SecondaryNameNode恢复Namenode
- Hadoop根据SecondaryNameNode恢复NameNode
- hadoop 根据SecondaryNameNode恢复Namenode
- Hadoop根据SecondaryNameNode恢复Namenode
- Hadoop根据SecondaryNameNode恢复NameNode
- hadoop配置 - secondarynamenode配置与恢复
- hadoop2.X如何将namenode与SecondaryNameNode分开配置
- hadoop2.X如何将namenode与SecondaryNameNode分开配置
- hadoop2.X如何将namenode与SecondaryNameNode分开配置
- hadoop2.X如何将namenode与SecondaryNameNode分开配置
- NameNode 与 SecondaryNameNode 的关系
- SecondaryNameNode配置和恢复
- hadoop集群管理之SecondaryNameNode与NameNode
- NameNode,SecondaryNameNode与Datanode文件详解
- SQL取数据库中最靠近某一个日期的日期
- The reason to use void pointer
- java字符串日期处理工具类
- php 在线手册(不断更新中)
- javascript SVG的动画,脚本,事件
- secondaryNamenode配置与nameNode故障恢复
- Android4.2的开发者选项哪去了,赶紧把她找回来!
- 解决ubuntu使用gedit打开windows保存过的文档中文乱码
- 二分法,newton迭代法求解非线性方程组
- JavaWeb技术之--面向对象设计模式
- Qt:SQLite 3入门教程
- 开发工程师的职场人生路(转)
- 动态sql 语句
- gallery3d的源码分析-数据涞源2