前言
閱讀本文,需要具備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圈。掃碼進入: