1. 程式人生 > >Hadoop開啟後jps顯示只有jps

Hadoop開啟後jps顯示只有jps

之前在用Mapreduce寫程式碼時,在DFS Location下的會報一個error,大體的意思就是與主機名相關的錯誤

然後我就覺得可能時Hadoop開啟時出了錯誤,然後我就重啟了Hadoop,jps查看了一下,果然出現了錯誤

可見jps命令輸入後什麼都沒有,原本應該如下圖所示

後來我就在網上百度,發現出現錯誤的原因時我主機名和配置檔案不一致造成的,根據Hadoop啟動時的提示,從這隨便挑選一個

例如; starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-ZMZ.out”,其中 ZMZ 時主機名,但其實

啟動日誌資訊是記錄在 /usr/local/hadoop/logs/hadoop-hadoop-namenode-ZMZ.log 中,所以應該檢視這個字尾為 .log 的檔案,果不其然

在對應的log中,注意此ip

然後開啟host檔案,輸入命令

sudo vi /etc/hosts 

發現沒有上圖中.log 檔案對應的ip地址,所以要修改host檔案,把目前主機名及其對應的ip地址插進去

 

 然後重啟網路,輸入

sudo /etc/init.d/networking restart

或者

reboot

重新啟動計算機生效

然後我再次jps,發現又缺少了DataNode

於是在網上找到的解決辦法,主要是參照林子雨的教程走的

 此外,若是 DataNode 沒有啟動,可嘗試如下的方法(注意這會刪除 HDFS 中原有的所有資料,如果原有的資料很重要請不要這樣做)

# 針對 DataNode 沒法啟動的解決方法
./sbin/stop-dfs.sh   # 關閉
rm -r ./tmp     # 刪除 tmp 檔案,注意這會刪除 HDFS 中原有的所有資料
./bin/hdfs namenode -format   # 重新格式化 NameNode
./sbin/start-dfs.sh  # 重啟

執行後會刪除HDFS原有資料,注意儲存

 然後再次jps,發現正常運行了