裝置名
參數
數量
6台
系統
centos6.5
記憶體
64g
硬碟
320t/台
cpu
8核/台
至此搭建hadoop叢集的條件準備ok了。
在管理hadoop叢集時,不推薦使用root使用者去操作,我們可以通知運維,叫他建立一個hadoop使用者去專門用于維護和管理叢集。
同時通知運維給hadoop使用者開通sudo權限。
這樣建立完使用者後,我們接下來是在該使用者下安裝ssh,然各個伺服器之間能夠實作免密碼登入。
a.首先在hadoop使用者下安裝ssh,保證伺服器之間能夠免密碼登入
b.關閉各個伺服器的内網防火牆,在外網由運維統一配置防火牆。
注:若不關閉防火牆,後面啟動叢集會由于權限不足導緻啟動失敗
安裝指令:
注:在hadoop使用者下,需要給authorized_keys賦予600的權限,不然免密碼登陸無效
這樣免密碼登入就算完成了。
注:每天伺服器安裝完ssh後,需登入一次ssh,不然know_hosts木有記錄,其他叢集啟動會出現can't be established
關閉防火牆:
這樣第三步就ok了。接下來是安裝jdk
将下載下傳的jdk包解壓到指定位置,然後配置環境變量即可:
然後讓配置檔案立即生效:
驗證:
将下載下傳的hadoop-2.5.1安裝包解壓到指定的位置,然後配置etc目下的檔案和環境變量,首先我們先配置環境變量:
(1)修改hadoop-env.sh的java_home
(2)配置hdfs-site.xml
(3)配置core-site.xml
(4)配置mapred-site.xml
(5)配置yarn-env.sh
(6)複制mapred-queues.xml檔案
(7)設定master和slaver
master檔案:cloud001
slaver檔案:cloud002,cloud003,cloud004,cloud005,cloud006
(8)配置hosts
10.211.55.12 cloud001
10.211.55.15 cloud002
10.211.55.16 cloud003
10.211.55.19 cloud004
10.211.55.34 cloud005
10.211.55.22 cloud006
接着我們将配置好的資源打包分發到其他伺服器。
使用scp指令将配置好的資源分發的其他伺服器上。
到這裡所有的準備工作已完成了,我們可以啟動叢集了,這裡需要注意的是,hadoop2.x和hadoop1.x不一樣的地方是,啟動不着是start-all.sh,當然這個指令也是可以用的,但是這裡不推薦使用,在hadoop2.x中,官方對啟動指令做了優化,推薦使用start-dfs.sh和start-yarn.sh。下面我給出一個完整的啟動過程:
格式化節點(首次啟動):
啟動所有節點:
啟動資源管理:
注:在hadoop2.x中,由于hadoop的設計變了,相對hadoop1.x在hdfs上添加了一層yarn來管理,是以啟動之後所有的資源交由yarn來管理。
添加代理(負載均衡):
檢視啟動叢集的簡要概括:
最後我們可以輸入jps指令來檢視:
到這裡我們的社群版hadoop2.x叢集就搭建完成了。