Hadoop跑map-reduce任務時停滯不前的問題
阿新 • • 發佈:2019-01-07
今天跑job 的時候,發現map 任務很正常地結束,但跑reduce 任務時到20% 幾就停滯不前,而且一直卡住沒法正常結束。看userlog ,好 像是FETCH map 任務的結果時超時,無法取到結果。中間還出現了一個詭異的地址web30.bbn.com.cn/202.106.195.30 。也就是 說,reduce 任務到這個詭異的地址上去取結果。上網搜了一下,這個域名/IP 是網通的一臺找不到域名或地址後自動定向的上網導航伺服器。再看了下 job tracker 的日誌,看到在啟動的時候它將這個地址加進了節點中。這就說明,它認為這個節點是一個合法的節點,然後分配任務的時候也往這個節點分配任務(當然會失敗),取結果的時候也試圖到這個節點上取。
反覆檢查了SSH 和hosts 檔案,一切都很正常。conf/slaves 檔案看起來也沒有問題。就是不知道哪裡出的錯。後來看到log 中有一個heartbeat 的詞,突然想起來,節點是通過心跳來告訴master 自己還存活的。而在這之前,我做了一個測試,加了一個新節點到叢集中,後來又把節點給刪了,hosts 的檔案也被改了,會不會是這個節點還在往master 傳送心跳?SSH 到那個新節點上,jps 看一下任務,task tracker 果然還活著!把這個程序kill 掉,問題就OK 了。。。好2 啊。。。