1. 程式人生 > >Hadoop namenode無法啟動問題解決

Hadoop namenode無法啟動問題解決

hdfs atan system.in trac perm ces log and hadoop

原文:http://www.cnblogs.com/unflynaomi/p/4476870.html
原因:在root賬戶(非hadoop賬戶)下操作hadoop會導致很大的問題。

首先運行bin/start-all.sh發現namenode沒有啟動

只有它們

9428 DataNode

9712 JobTracker

9626 SecondaryNameNode

9983 Jps

9915 TaskTracker

遇到問題要學會翻看日誌

cd /usr/local/hadoop/logs

發現日誌下面有這個文件

hadoop-hadoop-namenode-ubuntu.log.2014-07-29

用vim打開,只要看err出錯部分如下

2014-07-29 02:30:22,388 ERRORorg.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesysteminitialization failed.

java.io.FileNotFoundException: /usr/local/hadoop/hdfs/name/in_use.lock(Permission denied)

atjava.io.RandomAccessFile.open(Native Method)

atjava.io.RandomAccessFile.<init>(RandomAccessFile.java:236)

atorg.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.tryLock(Storage.java:617)

atorg.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.lock(Storage.java:594)

atorg.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:452)

atorg.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:299)

atorg.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104)

atorg.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:427)

atorg.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:395)

是我上次用root操作hadoop所致的

更改權限即可,改成hadoop所有

chown -R hadoop:hadoop /usr/local/hadoop/hdfs/*

chown -R hadoop:hadoop /usr/local/hadoop/logs(日誌文件也要改)

先bin/stop-all.sh

再bin/start-all.sh

Namenode就又正常啟動了.

Hadoop namenode無法啟動問題解決