mapreduce.Job: Running job: job_1553100392548_0001


這幾天一直在嘗試一個mapreduce的例子,但是一直都是卡在mapreduce.Job: Running job: job_1553100392548_0001,查看日志也不報錯,查看每個配置文件沒有問題,很納悶。今晚決定把整個流程梳理一下,試圖找出問題原因,果然功夫不負有心人。

首先來說一下現象

運行的時候一直卡在這個界面

也沒有報錯。很奇怪。

然后訪問Applications查看情況(http://192.168.23.130:8088

看到這個頁面,有點奇怪,這個任務是未定義的,而且進度條也不動。然后再繼續點進去看

發現yarn並沒有分配處理節點。那么這是為什么呢?

哦,突然想起來自己是只起了一個datanode和一個nodemanager【因為自己電腦內存不夠,搭建集群的時候弄了4個虛擬機,后來每次只起兩個機器來用,一個作為NameNode/ResourceManager,另外一台作為DataNode/NodeManager;由此節省一些內存。】而恰好問題就出現在了這里。

因為你只有一個datanode節點,而副本的數量為2,這時候就很難辦了。所以當你向hdfs上傳文件的時候,只有一個地方存放,而后來在統計的時候,yarn分配資源又無法找到這些文件在哪里,不知道應該用哪個NodeManager來處理。這樣就沒有辦法處理,所以導致程序一直卡住,但是也不會報錯。

解決辦法:

把當前NameNode節點也作為一個DataNode節點和NodeManager即可。也就是修改slaves配置文件即可

原來只有一台mini2

現在把mini1也加入進去作為一個從節點

然后重啟hdfs集群和yarn集群,再次執行

發現果然成功了

再看看管理頁面上,也不一樣了

至此,已經把這個問題解決了。納悶了好幾天,終於可以松口氣了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM