1. 程式人生 > >Hadoop的MapReduce程序卡住job/雲伺服器被礦工挖礦

Hadoop的MapReduce程序卡住job/雲伺服器被礦工挖礦

本人用百度的雲伺服器搭建叢集學習Hadoop,突然發現Java程序佔用了99%以上的CPU,自己MapReduce沒法執行,卡在job那裡,但是通過kill所有Java程序,重啟Hadoop叢集即可執行一兩次MapReduce。我一度以為是配置出了問題。困擾了我許久,冥冥之中肯定有問題在制約著。經過找大師幫忙檢視,發現了問題所在。現象及解決方法記錄如下,可能不能永久的解決問題。僅為個人記錄。

通過top命令檢視DataNode上的程序,以前我只是簡單的將其kill掉這個Java,卻經常出現。

在master上執行任務,卡住不動或報錯,我沒有主動關閉過應用卻出現了這種報錯。

檢視日誌發現,有一個可疑的dr.who使用者。

於是去DataNode上繼續檢視,最後的hadoop為我的使用者名稱

ps -aux | grep hadoop

查詢到pid對應的程序路徑,發現是在/var/tmp/java,於是把這個java程式刪除,但是過了沒多久又自動起來了,敵人十分狡猾。

再查詢定時任務,發現有一個帶ip地址的定時任務,後來去網上一搜是荷蘭的IP,

crontab -l

再通過命令關閉定時任務

crontab -r

現在清淨了許多,檢視部落格發現還要注意ddg程序

用ps -aux | grep ddg找到了ddg程序,但是這個pid在不停的變化,根本kill不掉。先放下不管了,暫時不挖礦不影響自己的程式執行還好。

 刪除/var/spool/cron裡面的可疑檔案。