大數據實踐總結--兩個故障的處理及思路總結

    已經有一段時間沒有更新實踐內容了,不是因爲沒有在學習。而是工作上出現一個新的挑戰,又在忙論文查重,論文也是大數據方向的,主要是ICT方向的一個技術(若有人感興趣,我會另開一個帖子來詳細談這個內容)。

    而且最近,把之前所有的實踐環境換了一臺電腦來重新搭建。按理說會很順利,但沒想到,還是出了許多問題。一些簡單的問題就直接解決了,但仍是有兩個大的故障,一直到今天下午才全部都解決了。現總結如下,爲以後也能更好的學習使用。



故障一:虛擬機上虛擬適配器不能鏈接到主機的網絡


故障現像

   在將原來的虛擬機整體複製到新電腦上之後,發現從虛擬機上可以PING通外網,但從自己的主機上不能PING通虛擬機。這樣就導致了無法從CRT軟件上遠程登錄虛擬機。


解決思路

    這個現像在網絡上叫單通,也即PING操作裏只有一個方向能夠通過,一般出現這種情況,首先的判斷是防火牆的問題。而從虛機到外網可達,說明虛機上的防火牆是關閉着的。然後重點就是在主機側,通過查看主機的網絡鏈接,沒有找到跟虛擬機的網絡鏈接。故障原因可能是出在這個地方。


解決步驟

    關於這個問題,網絡上能搜索到許多貼子,解決辦法也有很多種。什麼重啓,重新配置之類都有很多。但都沒有最終解決虛擬網絡鏈接的問題。


1,http://tieba.baidu.com/p/3508962695主要是參考了這個貼子裏16樓提到的方法,因爲故障的關鍵是在虛擬網絡沒有建立上。所以主要思考如何能夠重新建立這個鏈接。

2,在以上的解決辦法中,沒有按照上邊的一步一步來照着操作,而是直接下載了cc cleaner這個軟件,因爲通過之前的相關貼子,發現之所以虛擬網絡鏈接無法建立,可能跟操作系統有關,而這一塊又肯定與註冊表有關。而這個軟件主要是修改系統的相應註冊表項。

3,當修復完相關的註冊表項,查看網上鄰居的屬性頁面,發現出現了與虛擬機相連的VMnet8的網絡鏈接。然後通過屬性頁面,修改其IP爲虛擬機的網關IP地址,同時DNS也設置爲虛擬機上的DNS。


最後,再進行相關驗證,在這裏有一點需要注意,要把你主機的對外網絡設置爲可共享(相當於虛擬機通過共享上外網)。至此,故障解決!


故障反思

    任何故障的出現都是有原因的,在網絡上都能夠搜索到相關的信息。如何找到關鍵詞,找到適合自己的相關內容很關鍵。同時要對故障產生的大概原因有一個前提判斷,這樣就是可以在正確的跑道上去尋找答案。首先要相信一點,是故障總是會被解決的。不要總想着重裝系統來解決問題,這只是逃避問題的一種方案。多去思考,多去看前人的技術總結,會讓你的技術思路有很大提升的。


故障二:在搭建好Hadoop集羣后,namenode與datanode兩個過程不能起來,或者一個啓動之後另一個自動關閉


故障現像

    此故障可以算是在換電腦搭集羣后最多的故障了,首先是從節點上相關進程都沒起來,後來又是進程起來後從節點上datanode節點沒起來,最後是datanode進程起來之後,主節點上namenode進程又沒起來。此故障看起來一波三折,實際上在理解好相關原理後,解決起來要比第一個故障輕鬆一些。


解決思路

    原理爲先:首先要找到對應關係,主節點上namenode主要是跟從節點上datanode相對應。

                                  主節點上jobtracker主要是跟從節點是tasktrack相對應。

    故障細分:1,從節點上進程起不來。2,datanode無法開啓 3,namenode無法開啓


解決步驟

    此故障在網上也是有很多攻略,在看完其他人的解決方法後。從理論聯繫實操分三步走來解決這個故障:


1,從節點上進程無法啓動,這個問題較爲簡單。大部分是由於各虛擬機之間的防火牆沒有關閉,而在真實的生產系統中。也表現來Linux之間的防火牆問題導致的HDFS集羣不通。又或者是暫時性關閉防火牆,沒有永久性關閉。具體的命令從網上都可以找到。

2,datanode無法開啓,這裏就要尋找你當初設置此集羣時的六個文件,裏邊就有設置的相關參數。主要是在core-site.xml內,在這個裏邊,我們設置了相關臨時文件夾,也相當於這個進程在開啓之後是否與主節點需要通信。當把這裏邊建立的tmp文件夾刪除之後,從節點上的datanode就可以順利開啓了。

3,namenode無法開啓,由於從上邊的原理上來看,datanode與namenode是相互依存的關係,而它們之間要啓動肯定是同時啓運的。不會一個開啓,一個關閉。若是這樣,那肯定另一個進程一會兒也會自動關閉。而控制兩個進程之間同步的有時間戳消息。而這個消息主要是在logs日誌裏。當把hadoop安裝目錄下的logs全刪除後。


然後,將全部進程停止,再全部重新啓動。所有進程就都起來了。至此,故障解決!!


故障反思

    此故障解決起來,主要是要把原理搞明白。不然在看網上相關攻略的時候總是會找不到方法。多去思考背後的原因,多去總結,反思!提升自己解決問題的能力!


    經過這兩個故障,更多的對Linux的基礎命令熟悉了許多,同時對HDFS的相關設置也更加熟悉。在實踐過程中,也遇到過:若是故障解決不了,要不要重新搭建的問題?後來想明白了。在網吧上網的年代,那些喊一聲網管,電腦死機了。網管一般的解決辦法就是重啓。而重新搭建就跟網管的功能是一樣的,遇到技術上的問題,不要逃避,多去思考,多去實踐,纔是提升你大數據技術實力的關鍵。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章