配置hadoop.tmp.dir 目錄

 

感謝原有發帖人,內容來源:http://f.dataguru.cn/thread-23704-1-1.html

HADOOP 配置HADDOP.TMP.DIR 注意
先說說,場景,在開發環境中,由於意外斷電.重新啓動HADOOP MASTER 結點.啓動HADOOP START-ALL.SH
grid$ start-all.sh 查看http:\\hdnode1m:50070\ 無法打開網頁, HADOOP 啓動失敗,回過頭去看日誌文件。
打開 ${hadoop_home}\logs\hadoop-grid-namenode-hdnode1m.log
出現如下錯誤:
2012-10-12 10:06:54,804 INFO org.apache.hadoop.hdfs.server.common.Storage: Storage directory /tmp/hadoop-grid/dfs/name does not exist.2012-10-12 10:06:54,806 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-grid/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290)    at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:87)    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:311)    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:292)    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201)    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:279)    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:956)    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965)2012-10-12 10:06:54,819 INFO org.apache.hadoop.ipc.Server: Stopping server on 9000 很清楚了 ,/tmp/hadoop-grid/dfs/name is in an inconsistent state: storage directory does not exist,
1.具體願因是 LINUX 系統,在服務重啓後,/tmp 下的目錄被清空,Hadoop無法找到dfs/name 這個dfs文件系統的域名空間文件。
hadoop.tmp.dir 是 hadoop文件系統依賴的基本配置,很多配置路徑都依賴它,它的默認位置在/tmp/{$user}下面。
2.解決辦法:
在core-site.xml中配置 hadoop.tmp.dir 路徑到持久化目錄。
3.由於重新配置了hadoop.tmp.dir 目錄,意味着,必須重新格式hdfs

#bin/hadoop namenode -format

4.後果

重新格式化了文件系統,自己想想吧,以前所有的文件都沒有了。

強烈建議大家,在安裝配置HADOOP的時候,一定要更改hadoop.tmp.dir .

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://hdnode1m:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/grid/disk</value>

</property>

</configuration>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章