anaconda在ubuntu中安装后没有_你的大数据平台中病毒了!!!记一次HDP安装后中dr.who病毒并修复的过程...
? ? ? ? 有些事還是經(jīng)歷過了才知道“小心駛得萬年船”的道理啊。最近筆者幫一個客戶安裝HDP2.6.5版本的大數(shù)據(jù)平臺,最重要的是,這次安裝的背景是生產(chǎn)環(huán)境的云平臺遷移,不是普通的開發(fā)階段或者上線階段。
? ? ? ? ?剛開始拿到系統(tǒng),自然一片空白,因此有些掉以輕心了。由于是云平臺且是新到位的環(huán)境,為了方便安裝,便直接開了全部網(wǎng)絡(luò)訪問來安裝。經(jīng)過一兩天的折騰(過程自不必詳述,不是本文的重點),終于完成一個master節(jié)點、一個standby節(jié)點+3個datanode節(jié)點的hdp安裝。由于經(jīng)驗不足,加上工作疏忽,忘記了提醒客戶調(diào)整網(wǎng)絡(luò)策略,于是兩天后悲劇就發(fā)生了。
? ? ? ? ?最開始出現(xiàn)的癥狀是,mapreduce任務(wù)和hive任務(wù)都跑的巨慢,
深入看看,發(fā)現(xiàn)有兩個問題,1.是yarn的nodemanger起不來,2是yarn資源管理上出現(xiàn)了一些奇怪的進程,如下:
? ? ?? 很明顯,看到dr.who這么異常的用戶,我們馬上感覺不對勁,各種百度找原因,最后確認我們中毒了。重點關(guān)注到的是下面的文章,但是很遺憾,沒用給出對應(yīng)的解決方案。
? ? ???網(wǎng)上找了一些資源,一開始就是蒙的,只能求助于云平臺。雖然工作很久了,但是以前的Linux環(huán)境大多都是內(nèi)部網(wǎng)絡(luò),第一次接觸到Linux中毒的情況。結(jié)果云平臺又是斷網(wǎng)查殺,又是重啟,可是最終還是沒能解決我們的問題,唯一給出的消息就是,經(jīng)過診斷,三臺datanode中毒了,另外兩臺maser節(jié)點沒問題。當時距離遷移結(jié)束尚有四五天的時間,于是在苦惱兩天以后,決定重新安裝datanode。云平臺給的建議也是重裝系統(tǒng)。
? ? ? ?經(jīng)過一番苦戰(zhàn),我們把三臺datanode節(jié)點下線以后,直接重置系統(tǒng),全部清空。然后安裝ambari-agent,讓ambari-server和ambari-agent建立通信,在三個ambari-agent上初始化客戶端+datanode+nodemaneger等。初始化完成以后,也遇到一個問題,這里也記錄一下。需要執(zhí)行hdfs hadoop ?dfsadmin -safemode leave讓集群離開安全模式,然后刪除丟失文件的目錄。重新安裝以后,經(jīng)過一番折騰,恢復(fù)數(shù)據(jù)和文件,終于把集群又運行起來了。
? ? ? ? ?然而,命運總是喜歡開玩笑。在系統(tǒng)穩(wěn)定運行一周后,由于云平臺管理人員的失誤,本應(yīng)針對應(yīng)用服務(wù)器開放8080端口的需求誤操作成對所有云平臺開放8080端口,于是已經(jīng)在生成環(huán)境的服務(wù)器再次出現(xiàn)故障,nodemanger每次一啟動就down掉。聯(lián)系云廠商,再次殺掉,折騰了一臺以后未見任何進展。我們利用周末時間翻遍了百度、谷歌、必應(yīng)的各種文章以后,仍未找到合理的解決方案。
? ? ? ?在周一即將到來、系統(tǒng)即將迎來大面積訪問的關(guān)頭,我們都做好了要再次重裝datanode的準備,然而另外一位同事部署的kafka程序及spark程序不愿意再次配合修改,因此我們只能選擇再推遲一天重裝來解決此問題。
? ? ? 在周日的晚上十一點多,點的外賣到了一個多小時還沒吃的時候,我最后一次嘗試卸載一個節(jié)點的nodemanger然后重裝,在啟動的時候偶然遇到錯誤,提示里面有dr.who的錯誤,讓我意識了這么多次nodemanger一啟動就down掉并且不報錯可能跟這個病毒有關(guān)。于是我開始在網(wǎng)上查找相關(guān)資料。
最有用的是下面這篇博文,https://www.cnblogs.com/daxiangfei/p/9198856.html,然而內(nèi)容過于簡單,只給了解題思路,沒用給解題步驟。
? ? ?參照本文的說明,我現(xiàn)實在yarn用戶的crontab找到系統(tǒng)定時任務(wù),雖然已經(jīng)注釋,但是我還是手動刪掉了。
? ? ?由于定時任務(wù)是yarn用戶的,根據(jù)經(jīng)驗,我就開始查看yarn用戶的進程,ps -ef|grep yarn,于是看到了四個很奇怪的進程,很明顯,這就是所謂的挖礦程序。二話不說,我就kill掉了四個進程,然后再次啟動nodemanger。在啟動過程中我還不是查看yarn的用戶的進程,想看看是不是有命令會殺掉nodemanger經(jīng)常。
結(jié)果就看到了,挖礦程序是伴隨這個nodemanger啟動的,這是,我有兩個懷疑,第一,這個挖礦程序修改了nodemanger啟動腳本,嵌入到了nodemanger啟動過程中;第二,nodemanger容器中包含挖礦程序,導(dǎo)致nodemanger一啟動就要執(zhí)行挖礦任務(wù),“不堪重負累死了”。從表面上看第一個推理比較合理,于是我認真查找挖礦進程對應(yīng)的腳本并且進行各種刪除,但是多次重啟以后還是存在挖礦程序同步啟動的情況。于是只能嘗試第二種思路,第二個設(shè)想從其它博文中看到一句命令后就驗證了。yarn top命令可以查看yarn正在運行的進程。
? ? ? 這樣問題請很清晰了,大量的dr.who的挖礦程序在yarn隊列中是提交狀態(tài),所以nodemanger一啟動就需要開始干活,資源不足或者被挖礦程序搶占了CPU資源所以導(dǎo)致nodemanger啟動后馬上就悄悄的死掉了。認識到來這一點,我開始查詢yarn的其他命令行以及怎么殺死這些任務(wù)。
? ? ? 在嘗試幾次批量查殺后發(fā)現(xiàn)進程依然沒有減少,于是網(wǎng)上百度查找yarn批量查殺進程的方法。
? ? ? 最后終于找到一個非常好用的命令。在我執(zhí)行的時候,奇跡出現(xiàn),dr.who的進程在一個一個得減少,慢慢的mapreduce就出現(xiàn)了,再到后來全部是mapreduce任務(wù)和hive任務(wù)。這個命令真的很神奇,殺了一堆有害進程,但是對合理的進程全部保留。
# 刪除處于ACCEPTED狀態(tài)的任務(wù)for i in ?`yarn application ?-list | grep -w ?ACCEPTED | awk '{print $1}' | grep application_`; do yarn ?application -kill $i; done
? ? ??這是我終于看到了曙光。我在保障所有節(jié)點的yarn用戶crontab里面沒用定時任務(wù)以后,登錄ambari開始啟動nodemanger。正當我點開頁面的時候,奇跡出現(xiàn)了,所有的nodemanger滿血復(fù)活。
? ? ? ?等我重新提交任務(wù)以后,yarn平臺也正是恢復(fù)正常,tez和mapreduce任務(wù)正常執(zhí)行。
? ? ? ?于是,在產(chǎn)生更嚴重的生產(chǎn)事故之前,hdp平臺就這樣被我修復(fù)了。經(jīng)過一天的穩(wěn)定運行,平臺也安然無恙。至此,我修復(fù)了一次重大的生成事故。
? ? ? ?最后補充說一下,可能由于挖礦程序的升級,"檢查/tmp和/var/tmp目錄,刪除java、ppc、w.conf等異常文件"這一條已經(jīng)完全失效了,找不到任何對應(yīng)的文件。? ? ? ??總結(jié)一下,遠程木馬通過yarn的8080端口提交了包含挖礦程序的shell腳本任務(wù)給yarn執(zhí)行,yarn執(zhí)行以后就產(chǎn)生了crontab定時任務(wù)和挖礦進程。由于木馬一次性提交了大量(大概一兩百個)的相同任務(wù)給yarn,所以殺死一兩個并不能解決問題,只有全部殺死,才能再次啟動nodemanger。
《數(shù)據(jù)中臺研習社》微信群,請?zhí)砑游⑿?#xff1a;laowang5244,備注【進群】
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??分享、點贊、在看,給個三連擊唄!?
總結(jié)
以上是生活随笔為你收集整理的anaconda在ubuntu中安装后没有_你的大数据平台中病毒了!!!记一次HDP安装后中dr.who病毒并修复的过程...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下python搭建网站_W
- 下一篇: virtualbox ubuntu安装图