問(wèn)題描述:
在集群模式下更改節點(diǎn)后,啟動(dòng)集群發(fā)現 datanode一直啟動(dòng)不起來(lái)。
我集群配置:有5個(gè)節點(diǎn),分別為master slave1-5 。
在master以hadoop用戶(hù)執行:start-all.sh
jps查看master節點(diǎn)啟動(dòng)情況:
NameNode
JobTracker
SecondaryNameNode
均已經(jīng)正常啟動(dòng),利用 master:50070 , Live Nodes 為0, 隨進(jìn)入 slave1:
ssh slave1, 輸入命令 jps ,發(fā)現只有 TaskTracker 而沒(méi)有DataNode。隨后看日志
上網(wǎng)查找解決方法,最后終于解決了,解決方法如下:
1. 先執行stop-all.sh暫停所有服務(wù)
2. 將所有Salve節點(diǎn)上的tmp(即 hdfs-site.xml 中指定的 dfs.data.dir 文件夾,DataNode存放數據塊的位置) , logs 文件夾刪除 , 然后重新建立tmp , logs 文件夾
3. 將所有Salve節點(diǎn)上的/usr/hadoop/conf下的core-site.xml刪除,將master節點(diǎn)的core-site.xml文件拷貝過(guò)來(lái),到各個(gè)Salve節點(diǎn)
scp /usr/hadoop/conf/core-site.xml hadoop@slave1:/usr/hadoop/conf/
4. 重新格式化: hadoop namenode -format
5. 啟動(dòng):start-all.sh
注:這是我碰到的情況,不見(jiàn)得是你遇到的問(wèn)題,基本上從以下幾個(gè)方面解決問(wèn)題:
1. 檢查各個(gè)xml文件是否配置正確
2. java環(huán)境變量配置是否正確
3. ssh是否無(wú)密碼互通
4, Hadoop離開(kāi)安全模式,hadoop dfsadmin -safemode leave。
hdfs-site中配置的dfs.data.dir為/usr/local/hadoop/hdfs/data
用bin/hadoop start-all.sh啟動(dòng)Hdoop,用jps命令查看守護進(jìn)程時(shí),沒(méi)有DataNode。
訪(fǎng)問(wèn)http://localhost:50070,點(diǎn)擊頁(yè)面中的Namenode logs鏈接,在logs頁(yè)面點(diǎn)擊hadoop-hadoop-datanode-ubuntu.log 鏈接,
發(fā)現在日志中有此提示:Invalid directory in dfs.data.dir: Incorrect permission for /usr/local/hadoop/hdfs/data, expected: rwxr-xr-x, while actual: rwxr-xrwx 。原因是data文件夾權限問(wèn)題,執行:chmod g-w /usr/local/hadoop/hdfs/data,修改文件夾權限后,再次啟動(dòng)Hadoop,問(wèn)題解決。
聯(lián)系客服