噁心的hadoop集羣

具體配置:網上一堆,我說一下個人問題好了!html

 「徹底」 分佈式集羣java

 

注意地方有三點:node

1.你的"master" dfs目錄中的某個Id不一致,具體位置,有空我再找找。(通過我找了一下,忘了哪篇文章說過apache

跟${HADOOP_TMP}/dfs/name/current的VERSION有關,分佈式

我查看了一下,正常的集羣oop

master的VERSIONspa

cluster1的VERSION.net

cluster2的VERSION3d

對比一下後,發現只有clusterID是同樣的。日誌

我在dfs還在啓動狀態,再執行bin/hdfs namenode -format,發現

 

clusterID發生變化了,而集羣下面的cluster的clusterID沒有變化。

因此要更改nameNode的clusterID的話,記得要重啓dfs,否則你本身玩泥巴。

(爲何不一致,這得問你了,你「bin/hdfs namenode -format」 格式化時,看到是否覆蓋.

Re-format filesystem in Storage Directory /tmp/hadoop-root/dfs/name ? (Y or N) 

這樣的字樣,你又傻傻的敲了:Y,那ID就天然變化了。

)

我簡單又粗暴的方法的,直接刪掉hadoop中的數據。(反正我本身玩而已)

若是你的core-site.xml和hdfs-site.xml,沒有配置數據目錄路徑的話,

數據都在/tmp/hadoop-root底下,本身看着辦!

(若是要刪的話,最好把連同的cluster「集羣數據」一塊兒刪除,否則在http://master-node:50070/dfshealth.html#tab-datanode是沒法看到集羣的cluster的datanode)

而後,

再./sbin/start-dfs.sh   ,若是能順利啓動的話,就在master,cluster分別 查看hdfs的的目錄

bin/hdfs dfs -ls /   (若是都沒有問題的話。再去看http://master-node:50070/dfshealth.html#tab-datanode是沒法看到集羣的cluster的datanode)

 

 

2./etc/hosts

假如配置錯了

會出現

 ls: Call From slaver1/127.0.0.1 to master:9000 failed on connection exception: java.net.ConnectException: Connection refused; 
For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused     
相似的這樣的錯。
 
引用:http://blog.csdn.net/wqetfg/article/details/50715541
 
去除其hosts上的
localhost和

#127.0.0.1 master-node
#::1 master-node

相似的。

 

    特別注意你的master的hosts最好與你cluster同樣!

 

其實看 格式化時的日誌,都能知道集羣子節點是否成功

bin/hdfs namenode -format   

看這句SHUTDOWN_MSG: Shutting down NameNode at "你的masterIP"

3.你的虛擬機問題。若是你的cluster是clone 「master的」,也許能集羣起來的。

可是若是你的cluster是clone 「cluster」,不知道你可否啓動,反正我是集羣不了的。(由於我有一個是clone 「master」 ,另外一個是clone "cluster",也不知道是否clone操做出問題,反正個人clone "cluster"死活集羣不到,一氣之下,刪了clone "cluster",從新clone 「master」, 而後,「就能夠」)

 

 

至於網上的不少篇拼命讓你「格式化namenode」的文章,只能說一句:我操。

(其實我是由於在看哪裏都沒有log相關信息,才搜索"hadoop2x Call From",然而

纔看http://blog.csdn.net/wqetfg/article/details/50715541,才能解決

相關文章
相關標籤/搜索