Hadoop运营急救方案

 

引子:
 这段时间折腾的都是hadoop和lucene,总结了hadoop在运营过程中出现问题时的解决方案,请大家指教!

HDFS(0.20.2)运营中急救方案

1           Namenode 挂掉(secondarynamenode无影响)

如果Namenode挂掉,如果能立即起来通过,start-dfs.sh 能够重新起来则可以正常使用。否则按照以下操作。下面所有操作前提是有完整的secondarynamenode

 

1)    在非secondarynamenode服务器中选择datanode作为namenode(目前在正式文档中没有发现,建议采用第二种,但在测试中没发现问题)

 

a)         Kill掉所有服务。

b)        修改新namenode服务器 配置文件:core-site.xmlmastersslaves等相关文件。

c)        修改hosts文件

d)        重新配置各节点 ssh ,使新namenode到其他datanode 正常无密码ssh登陆

e)         将运行secondarynamedode机器上的hadoop.tmp.dir/dfs/namesecondary 拷贝到新namenode服务器hadoop.tmp.dir/dfs目录。

f)         namesecondary改名为name

g)        bin/start-dfs.sh启动hdfs

2)    在非secondarynamenode服务器中选择datanode作为namenode。通过导入以前的检查点来恢复namenode

 

a)         Kill掉所有服务。

b)        修改新namenode服务器 配置文件:core-site.xmlmastersslaves等相关文件。

c)        修改hosts文件

d)        重新配置各节点 ssh ,使新namenode到其他datanode 正常无密码ssh登陆

e)         namenode服务器core-site.xml中配置fs.checkpoint.dir(默认是在$hadoop.tmp.dir/dfs/ namesecondary.

<property>

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

  <value>/home/hadoop/hadoop-data/dfs/namesecondary</value>

</property>

f)         将运行secondarynamedode机器上的hadoop.tmp.dir/dfs/namesecondary 拷贝到namenode服务器fs.checkpoint.dir目录.

g)        执行bin/hadoop namenode –importCheckpoint 导入检查点。

h)        执行bin/start-dfs.sh 启动dfs.

 

 

 

 

2           Datanode挂掉(不带secondarynamenode

1)      原服务器完全坏掉,起不来,只能引入新的datanode

                           i.      从其他datanode拷贝hadoop所有配置到新服务器

                         ii.      设置hosts,将所有datanodes namenode 设置hosts

                        iii.      设置ssh无密码登陆,并测试

                       iv.      namenode conf slaves中配置新加datanode

                         v.      在新加datanode上通过bin/hadoop-daemon.sh start datanode  启动该新datanode

2)         原服务器可以立即起来

                     i.      因为namenode slaves有该datanode,可以直接在namenode中执行bin/start-dfs.sh 启动

                   ii.      也可以在该服务器 通过bin/hadoop-daemon.sh start datanode启动

3           Datanode挂掉(带secondarynamenode

1)    Namenode正常运行情况下,如果该datanode可以立即投入使用,则直接在namenode中执行bin/start-dfs.sh 启动

2)    Namenode正常运行情况下,如果该datanode无法使用,则考虑新增datanode,并配置secondarynamenode

在新节点 配置文件hdfs-site.xml 配置:

<property>

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

   <value>netease-namenode-test:50070</value>

  </property>

该配置在namenode使用默认即可。如果添加上通过外网访问netease-namenode-test:50070可能会由于网段不同导致访问不到。

 

使secondarynamenode能够post请求到namenode

然后在namenode masters中增加 新的secondarynamenode 并配置hosts

使用bin/start-dfs.sh 启动。

 

你可能感兴趣的:(hadoop,测试,kill,服务器,ssh,Lucene)