2014-03-07 49 views
2

我想安裝hadoop 2.2.0我開始dataenode服務時遇到以下類型的錯誤,請幫我解決此問題。感謝提前。無法正常啓動hadoop datanode

2014-03-11 08:48:16,406 INFO org.apache.hadoop.hdfs.server.common.Storage:鎖定/ home/prassanna/usr/local/hadoop/yarn_data/hdfs/datanode/in_use .lock通過nodename獲取3627 @ prassanna-Studio-1558 2014-03-11 08:48:16,426致命org.apache.hadoop.hdfs.server.datanode.DataNode:塊池初始化失敗塊池BP-611836968-127.0 .1.1-1394507838610(存儲ID DS-1960076343-127.0.1.1-50010-1394127604582)service localhost/127.0.0.1:9000 java.io.IOException:/ home/prassanna/usr/local/hadoop/yarn_data中的不兼容clusterID/hdfs/datanode:namenode clusterID = CID-fb61aa70-4b15-470e-a1d0-12653e357a10; datanode clusterID = CID-8bf63244-0510-4db6-a949-8f74b50f2be9 at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:391) at org.apache.hadoop.hdfs.server .datanode.DataStorage.recoverTransitionRead(DataStorage.java:191) at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:219) at org.apache.hadoop.hdfs.server.datanode .DataNode.initStorage(DataNode.java:837) at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:808) at org.apache.hadoop.hdfs.server.datanode.BPOfferService .verifyAndSetNamespaceInfo(BPOfferService.java:280) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664) at java.lang.Thread.run(Thread.java:662) 2014-03-11 08:48: 16,427 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:結束塊池服務:塊池BP-611836968-127.0.1.1-1394507838610(存儲ID DS-1960076343-127.0.1.1-50010-1394127604582)服務localhost/127.0.0.1:9000信息org.apache.hadoop.hdfs.server.datanode.DataNode:已刪除塊池BP-611836968-127.0.1.1-1394507838610(存儲標識DS- 1960076343-127.0.1.1-50010-1394127604582) 2014-03-11 08:48:18,532 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:退出Datanode 2014-03-11 08:48:18,534信息org.apache.hadoop.util.ExitUtil:以狀態0退出 2014-03-11 08:48:18,536 INFO org.apache.ha doop.hdfs.server.datanode.DataNode:SHUTDOWN_MSG: /* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** SHUTDOWN_MSG:在關閉的DataNode prassanna工作室-1558/127.0.1.1

+0

有沒有在你的問題顯示錯誤。請檢查NameNode和DataNode日誌文件。 – LeonardBlunderbuss

+0

我已經發布了我的datanode日誌請告訴如何解決此問題 – user2631600

回答

3

這只是表明datanode試圖啓動,但採取了一些例外和死亡。

請檢查hadoop安裝文件夾中的日誌文件夾下的datanode日誌(除非您更改了該配置)以查找異常。它通常指向某種配置問題,特別是。網絡設置(/ etc/hosts)相關,但有很多可能性。

+0

我發佈了我的datanode日誌請告訴如何解決此問題 – user2631600

+1

請格式化,刪除並重新創建datanode,namenode文件夾,然後重試。 – Vishal

+0

嗨 rmdir -p yarn_data,mkdir -p yarn_data,bin/hadoop namenode -format,我試過這3個命令,但仍然面臨同樣的問題。實際上,當我試圖從UI中看到datanode,namenode文件夾的內容在使用rmdir yarn_data cmd之前,我只能看到namenode的內容並且不允許看到datanode的內容,datanode文件夾顯示ur不是所有者訪問這個,所以,可能是由於訪問問題導致了這個問題。請幫忙解決。謝謝提前。 – user2631600

4

確保您準備好了正確的配置和正確的路徑。 這是Ubuntu的Running Hadoop的鏈接。

我已經使用這個鏈接來設置我的機器中的hadoop,它工作正常。

0

轉寄此,

1.檢查JAVA_HOME ---

readlink -f $(which java) 
    /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 

2.如果JAVA是不可用命令安裝

sudo apt-get install defalul-jdk 

不是運行1和檢查終端

java -version 
    javac -version 

3 。配置SSH

如果您希望在其上使用Hadoop(這是我們在此簡短教程中所要做的),Hadoop需要SSH訪問才能管理其節點,即遠程計算機和本地計算機。對於我們的Hadoop單節點安裝,因此我們需要爲用戶配置對本地主機的SSH訪問。

sudo apt-get install ssh 
    sudo su hadoop 
    ssh-keygen -t rsa -P 「」 
    cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys 
    ssh localhost 

下載和提取的Hadoop-2.7.3(Chosse dirrectory具有讀寫在未經許可)

設置的環境變量

sudo gedit .bashrc 
    source .bashrc 

安裝配置文件

下列文件將不得不修改完成Hadoop設置:

~/.bashrc (Already done) 
(PATH)/etc/hadoop/hadoop-env.sh 
(PATH)/etc/hadoop/core-site.xml 
(PATH)/etc/hadoop/mapred-site.xml.template 
(PATH)/etc/hadoop/hdfs-site.xm 

gedit (PATH)/etc/hadoop/hadoop-env.sh 

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 

gedit (PATH)/etc/hadoop/core-site.xml: 

(HOME)/etc/hadoop/core-site.xml文件包含啓動時Hadoop使用的配置屬性。 該文件可用於覆蓋Hadoop啓動時的默認設置。

($ sudo mkdir -p /app/hadoop/tmp) 

打開文件,輸入如下的<configuration></configuration>標籤之間:

gedit /usr/local/hadoop/etc/hadoop/core-site.xml 
<configuration> 
<property> 
    <name>hadoop.tmp.dir</name> 
    <value>/app/hadoop/tmp</value> 
    <description>A base for other temporary directories.</description> 
</property> 

<property> 
    <name>fs.default.name</name> 
    <value>hdfs://localhost:54310</value> 
    <description>The name of the default file system. A URI whose 
    scheme and authority determine the FileSystem implementation. The 
    uri's scheme determines the config property (fs.SCHEME.impl) naming 
    the FileSystem implementation class. The uri's authority is used to 
    determine the host, port, etc. for a filesystem.</description> 
</property> 
</configuration> 


(PATH)/etc/hadoop/mapred-site.xml 

默認情況下,(PATH)/etc/hadoop/文件夾包含(PATH)/etc/hadoop/mapred-site.xml.template文件,該文件已被重命名/名爲mapred-site.xml複製:

cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml 

mapred-site.xml文件用於指定哪個框架正在用於MapReduce。

我們需要在<configuration></configuration>標籤之間輸入以下內容:

<configuration> 
    <property> 
     <name>mapred.job.tracker</name> 
     <value>localhost:54311</value> 
     <description>The host and port that the MapReduce job tracker runs 
     at. If "local", then jobs are run in-process as a single map 
     and reduce task. 
     </description> 
    </property> 
    </configuration> 

(PATH)/etc/hadoop/hdfs-site.xml 

(PATH)/etc/hadoop/hdfs-site.xml文件需要配置爲集羣中的每個主機正在使用。

它用於指定將用作該主機上的namenode和datanode的目錄。

編輯此文件之前,我們需要創建兩個目錄,其中包含namenode和此Hadoop安裝的datanode。

sudo mkdir -p /usr/local/hadoop_store/hdfs/namenode 
sudo mkdir -p /usr/local/hadoop_store/hdfs/datanode 

打開文件,請在<configuration></configuration>標籤之間的以下內容:

gedit (PATH)/etc/hadoop/hdfs-site.xml 

    <configuration> 
    <property> 
     <name>dfs.replication</name> 
     <value>1</value> 
     <description>Default block replication. 
     The actual number of replications can be specified when the file is created. 
     The default is used if replication is not specified in create time. 
     </description> 
    </property> 
    <property> 
     <name>dfs.namenode.name.dir</name> 
     <value>file:/usr/local/hadoop_store/hdfs/namenode</value> 
    </property> 
    <property> 
     <name>dfs.datanode.data.dir</name> 
     <value>file:/usr/local/hadoop_store/hdfs/datanode</value> 
    </property> 
    </configuration> 

格式的新的Hadoop文件系統

現在, 這可以用下面的命令來完成Hadoop文件系統需要格式化,以便我們可以開始使用它。 format命令應具有寫權限發放,因爲它/usr/local/hadoop_store/文件夾下創建當前目錄:

bin/hadoop namenode -format 

bin/hdfs namenode -format 

HADOOP設置已經完成

現在啓動HDFS

start-dfs.sh 
start-yarn.sh 

查看網址:http://localhost:50070/

停止HDFS

stop-dfs.sh 
stop-yarn.sh