首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 云计算 >

secondaryNamenode配备与nameNode故障恢复

2012-11-23 
secondaryNamenode配置与nameNode故障恢复*注:本文基于0.20.2配置测试,0.21以后已改成Checkpoint Node和Ba

secondaryNamenode配置与nameNode故障恢复
*注:本文基于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文件

sh $HADOOP_HOME/bin/stop-dfs.shsh $HADOOP_HOME/bin/start-dfs.sh
(2)检查urihttp://namenode:50070/   #检查namenodehttp://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

热点排行