在windows+Linux環境下搭建Hadoop集群


一、背景

在Linux環境成功搭建的基礎上(傳送門:http://www.cnblogs.com/lvli/p/8580437.html),博主又衍生出了新的想法。

以Hadoop的特點,那么我們可不可以利用那些常人眼中已是廢物(無法玩游戲)的機器,而低成本地搭建集群。再就是,一般來說,windows系統更加常用,Linux系統使用起來其實是需要一定的學習成本,所以我們可不可能建立一個其實使用環境是Linux系統但是並不需要更換自己的windows系統呢?其實我們之前已經利用虛擬機做到了,但是所有的虛擬機都是在同一台機器上,會造成那台機器負擔過重,影響使用。

那么我們就可以在每台機器上只建立一個虛擬機,而充分利用每台機器的性能。 -。-

二、過程

想到很容易,但是做起來真的不是一般的難。

我共經歷了兩段時期。股市有一種曲線,樣子類似於U或者V,我第一段大概走得就是下行線。其實之所以要弄這個集群,一開始也是為了做一個項目,基於企業進銷項發票數據的異常企業預測分析。該項目提供的數據量相對於我之前所接觸的數據量而言是相當大的,我想着用真實機器搭建一個集群來跑這些數據。學校的機器或者說網絡是配置好的,看了IP也是在同一個局域網內。即使在不配置任何東西的情況下,局域網中的機器也是可以互相連通的。我想的就是,先驗證機器之間能不能連通,再通過配置,驗證,每個虛擬機和機器之間能不能連通,最后再驗證每個虛擬機之間能不能連通。

按部就班地按照想法,按照步驟,做了以后,集群之間連不通!我連虛擬機和宿主機器之間都連不通!連不通外網倒是正常,因為是主機模式嘛,但是連不通宿主機器!我當時真的是怎么也想不通,而且我做的時候還沒當回事兒,讓一個外行來幫我,結果就很尷尬。另外一邊,我的老師還不斷地催我,大概的意思就是弄不好就不要弄了,先設計項目方案重要。差不多是三天的樣子,在各種各樣因素的刺激下,我當時是選擇了放棄……當機立斷,換了一個項目,企業信息族譜分析。但是我留下了一個結,我猜大概問題就是出在網絡配置上,我的網絡知識很欠缺,百度搜相關的問題,我似乎捕捉到一點辦法的影子--網關。

我在做完當前項目的需求設計之后,有了一個空檔,於是我又沒出息地去碰了那三台電腦,進入了第二個階段。

首先,理清思路。其實,在第一段到第二段的時間內,我開啟了健身的不歸路,然后還有影響最大的是讀了劉潤老師的文章。最有趣的還是,劉潤:來吧,測測你能否加入微軟 | 5道微軟面試題,總之就是干了一堆看似和我正要說的事沒有關系的事。我的總目標是,搭建一個集群。集群需要每個機器之間可以連通,我雖然是要搭建Hadoop的集群,但是Hadoop的配置,Java的配置,時間同步,ssh免密碼登錄都是不會影響連接,且以連通為基礎。那么問題就出在最開始,主機的配置。既然要連接,那么大概問題就是網絡配置。我已經確保我的四台機器在同一個局域網內,但是虛擬機在不在局域網內呢。我一開始的想法是兩種可能,一種是還按照當前的配置(主機模式),但是我改虛擬機的配置,把虛擬機的IP改到和局域網的網段一致,這樣有可能連通。還有一種,我自己重新配置,使用網橋模式連接。

偶爾進入了一個講解網橋模式搭建的網頁讓我選擇了第二種,我一步一步地照做。先在windows系統下,檢測本地網絡有沒有網橋協議----通過虛擬機的網絡配置器,將網卡的自動選擇改為機器使用的網卡----將虛擬機網絡改為網橋模式----進入虛擬機系統,根據本地網絡的數據,配置IP,子網掩碼,網關和DNS----重啟網絡服務。這樣做,打開瀏覽器,我真的連通了網絡,但那還是外網,於是我再ping宿主機器的IP,這次真的連通了!一台連通以后,我看見了希望,我按照同樣的步驟繼續配置其他機器,當然,虛擬機和宿主機器之間都可以ping通了,但我猜,之前ping不通只是網關的原因。最后到了關鍵的一步,也就是,虛擬機之間是否可以連通。事實上就是正確地使用了橋接模式后,虛擬機之間是可以直接連通的。

我之前的想法就是虛擬機----宿主機器,宿主機器----宿主機器——>>虛擬機-----虛擬機,但應該是 虛擬機----虛擬機,宿主機器在此時反而只充當了一個網卡的作用,網絡知識的不足確實使我繞了一個很大的彎子。

三、配圖

最后配上成功的圖。


免責聲明!

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



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