分享

namenode宕机后,该怎么恢复

nettman 发表于 2013-11-19 17:16:07 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 16666
请问,namenode宕机后,snn可以保证hadoop集群运行。但是怎么可以恢复namenode进程呢,加入namenode主机已经崩溃了,可以不影响集群的情况下,重新加入namenode吗?
加微信w3aboutyun,可拉入技术爱好者群

已有(3)人评论

跳转到指定楼层
yuwenge 发表于 2013-11-19 17:17:50
snn不能保证集群恢复,需要找台机器导入Namenode镜像,然后修改IP为故障NN(namenode) IP
回复

使用道具 举报

nettman 发表于 2013-11-19 17:18:25
yuwenge 发表于 2013-11-19 17:17
snn不能保证集群恢复,需要找台机器导入Namenode镜像,然后修改IP为故障NN(namenode) IP

你的意思是再新建一个namenode?加入我重新配置一个与远namenode相同配置的主机,然后start即可?那以前namenode上的元数据怎么能恢复呢?
回复

使用道具 举报

pig2 发表于 2013-11-19 17:19:05
nettman 发表于 2013-11-19 17:18
你的意思是再新建一个namenode?加入我重新配置一个与远namenode相同配置的主机,然后start即可?那以前n ...

你可以参考下面的内容:
Hadoop集群中,NameNode节点存储着HDFS上所有文件和目录的元数据信息
如果NameNode挂了,也就意味着整个Hadoop集群也就完了
所以,NameNode节点的备份很重要,可以从以下2个方面来备份NameNode节点
1. 在hdfs-site.xml中,配置多个name的dir到不同的磁盘分区上:
<property>
    <name>dfs.name.dir</name>
    <value>/pvdata/hadoopdata/name/,/opt/hadoopdata/name/</value>
</property>
2. 在另外的一台服务器上配置Secondary NameNode:它是NameNode的一个备份
Secondary NameNode会定期合并fsimage和edits日志,将edits日志文件大小控制在一个限度下
合并的时机是由2个配置参数决定的:
fs.checkpoint.period,指定连续两次检查点的最大时间间隔, 默认值是1小时。
fs.checkpoint.size定义了edits日志文件的最大值,一旦超过这个值会导致强制执行检查点(即使没到检查点的最大时间间隔)。默认值是64MB。
Secondary NameNode的配置过程如下:
  • conf/masters中指定第二名称节点的主机名
  • core-site.xml中指定checkpoint的目录
<property>
  <name>fs.checkpoint.dir</name>
  <value>/opt/hadoopdata/secondname,/pvdata/hadoopdata/secondname</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>
如果NameNode节点挂了,可以按照如下步骤来从Secondary NameNode来恢复:
  • dfs.name.dir指定的位置建立一个空文件夹
  • Secondary NameNode上把secondname的目录给scp到新的NameNode机器的fs.checkpoint.dir
  • 使用hadoop/bin/hadoop namenode -importCheckpoint来启动NameNode,主要不要执行format命令
  • 使用hadoop fsck /user命令检查文件Block的完整性
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条