Hadoop運營急救方案

來源:互聯網
上載者:User

 

引子:
 這段時間折騰的都是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.xml,masters,slaves等相關檔案。

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.xml,masters,slaves等相關檔案。

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 啟動。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.