Amazon Ads

2015年2月25日 星期三

【筆記】解決Hadoop在主機重開機後,namenode無法啟動的問題

在使用pseudo-distributed mode設定好Hadoop以後,執行hadoop namenode -format,再執行start-dfs.sh後,即可正常啟動Namenode等,順利把檔案放到Hadoop上去,或是瀏覽Hadoop上的檔案。

但有時只要每次重開機後,再執行start-dfs.sh啟動Hadoop服務,下jps去檢查時,會看不到Namenode,這時可能的原因是沒在core-site.xml中設定hadoop.tmp.dir

在沒有設定hadoop.tmp.dir這個參數的情況下,Hadoop的暫存資料夾預設為/tmp/hadoop-你的使用名稱,如:


而這個資料夾在每次重開機後,即會被清除,因此會造成Namenode在重開機無法正常啟動的情況,解決方式就是在core-site.xml中設定hadoop.tmp.dir來指定Hadoop的暫存資料夾:

        hadoop.tmp.dir
 /home/javakid/study/hadoop/temp_data

設定完成後,再執行hadoop namenode -format,下次重新啟動後,再啟動DFS後,Namenode就會正常啟動。