Hadoop

Hadoop從節點未連接

  • November 15, 2017

我一直在嘗試建立一個 Hadoop 集群;我設法讓它在偽分佈式模式下執行,我的一台機器在大約 30 秒內統計了托爾斯泰的《戰爭與和平》。

我現在正在嘗試向我的集群添加第二台機器;為了幫助進行設置,我創建了一個使用者組 Hadoop,該使用者組有權在 Hadoop 伺服器上啟動、停止和執行作業(儘管我只將配置文件編輯為 root)。我確保 hadoop 組的所有成員都可以使用他們的公鑰從主節點 ssh 到從節點。我使用 dpkg 安裝了 hadoop 1.0.0.3。我在主節點和從節點上正確編輯了主從文件,並將配置更改為指向正確的NameNode和JobTracker:

在 core-site.xml 中:

fs.default.name=hdfs://$MASTER:9000

在 mapred-site.xml 中:

mapred.job.tracker=$MASTER:9001

其中 $MASTER 是我的主機的主機名。

我的 NN、SNN 和 JobTracker 正在正確啟動;但是,我的從節點無法連接到我的主節點!這是我在 DataNode 日誌中看到的行為:

2012-05-25 09:36:23,390 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: $MASTER/10.23.95.197:9000. Already tried 0 time(s).
2012-05-25 09:36:23,390 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: $MASTER/10.23.95.197:9000. Already tried 1 time(s).
...
...
connect to server: $MASTER/10.23.95.197:9000. Already tried 9 time(s).
2012-05-25 09:36:31,394 INFO org.apache.hadoop.ipc.RPC: Server at $MASTER/10.23.95.197:9000 not available yet, Zzzzz...

一而再,再而三。我在 TaskTracker 日誌中看到相同的內容,除了列出的埠號是 9001。lsof 告訴我正確的程序正在偵聽兩個埠。怎麼了???

$MASTER 的所有日誌都可以在http://pastebin.com/ZzyKBQVJ找到

謝謝; 如果您有任何疑問,請告訴我。

此問題通常不是由 Hadoop 配置中的問題引起的,而更多是由集群的網路配置引起的;就我而言,這是由這個問題引起的。如果您看到此行為,請/etc/hosts在查看 Hadoop 文件之前檢查您的路由等是否存在問題。

在 Rackspace 上設置 5 節點集群時,我遇到了類似的問題。我仔細檢查了我的/etc/hosts文件。問題實際上是防火牆。數據節點通過埠與主節點通信9000。您將需要打開該埠進行通信。您還需要50010在數據節點上打開埠,以便主節點進行通信以管理任務跟踪器。

此外,主節點還應該9001為作業跟踪器通信打開埠。

更新所有這些的 iptables。

在主節點上:

iptables -I INPUT -p tcp --dport 9000  -j ACCEPT
iptables -I INPUT -p tcp --dport 9001  -j ACCEPT
service iptables save
service iptables reload

在每個數據節點/任務跟踪器上:

iptables -I INPUT -p tcp --dport 50010  -j ACCEPT
service iptables save
service iptables reload

引用自:https://serverfault.com/questions/392733