首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

怎么配置Hadoop的 Secondary节点 & NameNode节点失效恢复

2012-06-30 
如何配置Hadoop的 Secondary节点 & NameNode节点失效恢复原创:?第一部分: 如何设置Secondary NameNode节点

如何配置Hadoop的 Secondary节点 & NameNode节点失效恢复

原创:

?

第一部分: 如何设置Secondary NameNode节点(单独的)

?

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

?

2. ?修改hdfs-default.xml ?文件

?

?

? ? ? <property> ??

? ? ? ? ? ? <name>dfs.http.address</name> ?

? ? ? ? ? ? <value>client148.hadoop.local:50070</value>

? ? ? </property> ? (NameNode节点开放的HTTP服务,是由Secondary 节点获取fsimage ,edits 文件的通道)

?

? ? ? <property>

? ? ? ? ? ?<name>dfs.secondary.http.address</name> ?

? ? ? ? ? ?<value>client147.hadoop.local:50090</value>?

? ? ? </property> ?(Secondary 节点开放的HTTP服务,是由NameNode节点获取新的fsimage 文件的通道)

?

?

如果dfs.secondary.http.address 第二项不设置会产生一下错误:

?

17?13:31:57,434?WARN?org.mortbay.log:?/getimage:?java.io.IOException:?GetImage?failed.?java.net.ConnectException:?Connection?refused

?

更详细的错误描述:?http://blog.csdn.net/chlaws/article/details/6981574

?

?

两个参数:

?

<name>fs.checkpoint.period</name>
<value>3600</value> ?// fs.checkpoint.period表示多长时间记录一次hdfs的镜像。默认是1小时

?

<name>fs.checkpoint.size</name>
<value>67108864</value> //?fs.checkpoint.size定义了edits日志文件的最大值,一旦超过这个值会导致强制执行备份(即使没到检查点的最大时间间隔)。默认值是64MB。


第二部分: NameNode节点无法恢复的时候,如何新建一个NameNode节点

?

1. 新建?dfs.name.dir 一个目录

?

例如: mkdir ?{/opt/data/test}

?

2. 把SecondaryNameNode节点中 {fs.checkpoint.dir}?的所有内容拷贝到新的NameNode节点的{fs.checkpoint.dir} 目录中

?

?

? <name>fs.checkpoint.dir</name>

? <value>${hadoop.tmp.dir}/dfs/namesecondary</value> //?默认设置

?

?

3. 在新的NameNode节点中执行命令 ?hadoop namenode -importCheckpoint


怎么配置Hadoop的 Secondary节点 & NameNode节点失效恢复

4. 检查 {dfs.name.dir} 此目录中是否有了文件,hadoop fsck / ?查看文件内容是否正常。?

?

如果一切OK,NameNode节点恢复正常。 Good Luck!

?

?

如对以上有疑问或建议请Mail to: biansutao# gmail # com

?

?

重要提示: 在一小间隔中间添加到HDFS中的数据将在恢复数据的时候丢失。

?

如果想减少这种数据丢失,可以把Checkpoint 的时间调低一点,比方说5分钟,15分钟。?

?

这个需要综合考虑数据量和集群规模。

?

通过设置 {dfs.name.dir} 设置多个目录(例如:NFS)可以保存NameNode节点的fsimage和edits文件。

这样减少数据的损失。

?

<property>

? <name>dfs.name.dir</name>

? <value>${hadoop.tmp.dir}/dfs/name</value>

? <description>Determines where on the local filesystem the DFS name node

? ? ? should store the name table(fsimage). ?If this is a comma-delimited list

? ? ? of directories then the name table is replicated in all of the

? ? ? directories, for redundancy. </description>

</property>


?

?

?

?

热点排行