Hadoop----叢集搭建指南(上卷)
前言
閱讀本文,需要具備Linux、計算機網路的基礎知識。所以在文中出現的相關基礎知識,均以連結的形式給出,務必理解該連結的內容後,繼續閱讀本指南。
叢集搭建的環境多種多樣,本文采用VitualBox安裝5臺虛擬機器構建叢集。具體環境:
- CentOS 6.5 64位
- VirtualBox 5.1.10 Mac版
- 本機macOS Sierra 10.12.1 i7 8G記憶體
單臺裝機
先下載CentOS的iso格式純淨映象,可以下載LiveDVD和minimal兩個版本。
本文采用LiveDVD版做演示。
開啟virtualbox:
點選”新建”按鈕:
選擇版本,並命名:
點選”繼續”按鈕,改記憶體大小:
點選”繼續”按鈕,改虛擬硬碟:
點選“建立”按鈕,改硬碟型別:
關於磁碟型別,參考:https://zhidao.baidu.com/question/1302436594642278379.html
點選”繼續”按鈕,改儲存方式:
繼續,改檔案位置和大小:
點選”建立”,主介面顯示該機器:
選中該機器,點選主介面”設定”按鈕:
點選”系統”,修改”啟動順序”:
點選”網路”,修改網絡卡1:
為修改網絡卡2,先關閉該對話方塊,開啟vitualbox管理介面:
點選偏好設定:
點選”網路”:
選擇”僅主機(Host-Only)網路”:
點選新增按鈕(右邊綠色按鈕),新增vboxnet1:
點選OK儲存,再次選中該虛機(hadoop6),開啟主介面的”設定”按鈕,點選”網路”,點選”網絡卡2”,勾選”啟用網路連線”,選擇連線方式:
選vboxnet1,則其餘所有節點均需保持一致。點選OK儲存。此時點選主介面的”啟動”按鈕:
選擇Centos的iso檔案所在位置,點選”啟動”。在彈出黑色介面時(有9秒時間),按一次任意的某個鍵,進入Boot介面。選擇第一種安裝方式:verify and boot:
按下回車鍵,進入centos系統:
雙擊系統桌面的”install to hard drive”:
進入安裝介面:
一路點選next按鈕,點選yes即可。時區選亞洲上海,root賬戶的密碼要牢記。然後,進入等待介面:
點選”close”,關閉安裝介面:
關閉該虛擬機器,調整系統啟動順序。選中該虛機,點選”設定”,點選”系統”,調整”啟動順序”,將”硬碟”放在第一位,將”光碟機”放在最後一位:
點選ok儲存,再次啟動該虛機,進入設定頁面:
一路forward即可,建立使用者名稱和密碼自己定義:
為叢集選擇同一時間,需要勾選synchronize date and time over the network.防止某個節點掛了以後和其他節點的系統時間不一致:
一路forward,點選finish,進入登陸介面:
注:如果採用minimal安裝方法,裝機方式僅有兩處與上述不同:
選第一種安裝方式
選skip,跳過檢測
其餘過程,同上述LiveDVD版安裝過程。
叢集搭建
重複上述步驟,安裝5臺虛擬機器。此時需要配置叢集的網路:配置網絡卡,修改hostname,新增host解析,新增普通使用者。
配置網絡卡
通過上述步驟的裝機方法,每臺機器中都將有兩個網絡卡eth0和eth1。eth0作為虛機網路的公網網口,eth1作為虛擬機器網路的內網網口。
配置網絡卡,需要在目錄:/etc/sysconfig/network-scripts下新建以ifcfg-ethX(X是一個數字,從0開始,一般到3結束。)檔案。
所以,關於eth0的配置在:/etc/sysconfig/network-scripts/ifcfg-eth0;
關於eth1的配置在:/etc/sysconfig/network-scripts/ifcfg-eth1。
如果有不明白的地方,可以參考下文—-CentOS網路配置詳解。
配置eth0
在System->Preferences->Network Connections,進行配置。
先編輯Auto eth0:
連線名修改為eth0,勾選所有使用者可用,設定IPv4,選擇DHCP即可:
點選Apply,輸入root賬戶驗證即可。
如果採用minimal版本的CentOS安裝,檔案配置方法,需要在/etc/sysconfig/network-scripts/ifcfg-eth0中修改:
- ONBOOT=yes
- BOOTPROTO=dhcp
其他引數均由系統自動生成:
其餘幾臺節點的eth0和上述相同。這樣所有節點的公網IP是相同的。只要宿主機可以上網, 那麼所有節點均可上網。
配置eth1
eth1採用host-only模式,在Manual方法下填寫ip。網段確定在192.168.xx.xx中。
對於5個節點的叢集,主機名為hadoop1-hadoop5,則ip分別是:
- 192.168.20.2 hadoop1
- 192.168.20.3 hadoop2
- 192.168.20.4 hadoop3
- 192.168.20.5 hadoop4
- 192.168.20.6 hadoop5
先編輯Auto eth1, 設定IPv4,選擇Manual,新增ip,子網掩碼,閘道器:
點選Apply,驗證root賬戶,即可成功。這樣192.168.20.2就分配給這臺機器了(下面說把這臺機器變成hadoop2)。
如果採用minimal版本的CentOS安裝,檔案配置方法,需要在/etc/sysconfig/network-scripts/ifcfg-eth1中修改:
- ONBOOT=yes
- BOOTPROTO=none
- IPADDR=192.168.20.2
- NETMASK=255.255.255.0
其他引數(注意不要配置gateway)均由系統自動生成:
其餘幾臺機器同上述配置過程,只需要更改IP(IPADDR引數)即可,子網掩碼和閘道器(minimal不用配)均相同。
修改hostname
一般是localhost開頭,但是不容易標識機器。改成可標識的。有5臺機器,那麼這5臺機器可以對應hadoop1-5。
修改檔案的目錄在: /etc/sysconfig/network
將HOSTNAME這個引數改掉即可。對於5個節點,分別在每臺機器上修改為hadoop1-5。
新增host解析
每臺虛機都有ip,但是ip難記,加個host解析,方便使用。
配置檔案在:/etc/hosts
先把127.0.0.1改成你已經修改的hostname的值,比如在hadoop1(192.168.20.2)這臺機器上,需要改成:
- 127.0.0.1 hadoop1
- ::1 hadoop1
這裡,每個節點是不同的。
所有的節點均需新增內容:
- 192.168.20.2 hadoop1
- 192.168.20.3 hadoop2
- 192.168.20.4 hadoop3
- 192.168.20.5 hadoop4
- 192.168.20.6 hadoop5
儲存即可。
新增普通使用者
新增普通賬號,比如:deploy,分配給使用者。配置/etc/sudoers檔案,使得該賬戶也可以進行sudo操作。
此處較為簡單,參考下文—-linux的賬戶。
裝機的思考
為什麼需要兩個網絡卡?
如果只使用預設的 NAT,會發現一旦宿主機斷開公網,自己的幾臺虛機之間也會無法通。最簡單的解決方案是雙網絡卡,如下圖所示:
為什麼修改兩次系統啟動順序?
第一次裝機是系統是來自iso檔案的(光碟機啟動)。每次都從該檔案啟動,則無法對系統進行定製修改。將其裝在硬碟上(自己的虛擬硬碟),每次從硬碟啟動即可對系統進行定製修改。
所以,需要改變啟動順序。裝到硬碟後,從硬碟啟動。
linux的賬戶
root賬戶許可權太大,必須給開發者一個使用賬戶。
相關連結:http://linuxme.blog.51cto.com/1850814/347086/
CentOS網路配置詳解
包含網路配置的很多東西:
http://blog.chinaunix.net/uid-26495963-id-3230810.html
結語
筆者目前是資料倉庫、Python、Hadoop的技術棧,以前是一名前端開發人員。2年開發經驗,還有許多要學習的地方。有興趣和我一起提高IT技術的同學,歡迎加入微信群–小谷的IT圈。掃碼進入: