Hadoop2.6+HA+Zookeeper3.4.6+Hbase1.0.0安裝

本文轉自:http://blog.csdn.net/onepiecehuiyu/article/details/45271493

安裝hadoop2.6+HA

  • 1.準備一臺CentOS6.4系統

  • 2.環境CentOS6.4 共5臺

機器名 ip地址 安裝軟件 運行進程 
master1 192.168.3.141 hadoop、Zookeeper、hbase NN、RM、DFSZKFC、journalNode、HMaster、QuorumPeerMain 
master2 192.168.3.142 hadoop、Zookeeper、hbase NN、RM、DFSZKFC、journalNode、 HRegionServer、QuorumPeerMain 
slave1 192.168.3.143 hadoop、Zookeeper、hbase DN、NM、journalNode、HRegionServer、QuorumPeerMain 
slave2 192.168.3.144 hadoop、Zookeeper、hbase DN、NM、journalNode、HRegionServer、QuorumPeerMain 
slave3 192.168.3.145 hadoop、Zookeeper、hbase DN、NM、journalNode、HRegionServer、QuorumPeerMain


  • 3.此時我們先對第一臺機器做修改,其他的後期克隆該機器即可

  • 4.修改/etc/hosts文件

這裏寫圖片描述 
修改/etc/sysconfig/network 
這裏寫圖片描述


  • 5.重啓機器

這裏寫圖片描述 
或者 
臨時修改hostname4


  • 6.安裝JDK

將JDK解壓5 
編輯/etc/profile 添加jdk路徑 
6 
保存退出7 
修改CentOS裏的java優先級 
8 
此時JDK已經安裝完成 
9


  • 7.解壓hadoop並修改環境變量

10


  • 8.修改配置文件

8.1 修改$HADOOP_HOME/etc/hadoop/slaves文件 
加入所有slave節點的hostname 
11 
8.2 修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件 
修改JAVA_HOME路徑 
12 
8.3 修改$HADOOP_HOME/etc/hadoop/yarn-env.sh文件 
修改JAVA_HOME路徑 
13 
8.4 修改HADOOPHOME/etc/hadoop/coresite.xml8.5HADOOP_HOME/etc/hadoop/hdfs-site.xml文件 
詳見附件 
8.6 修改HADOOPHOME/etc/hadoop/mapredsite.xml8.7HADOOP_HOME/etc/hadoop/yarn-site.xml文件 
詳見附件(yarn.resourcemanager.ha.id的屬性值在master2機器中需要更改爲rm2) 
8.8 添加$HADOOP_HOME/etc/hadoop/fairscheduler.xml文件 
詳見附件 
8.9 創建相關文件夾 
根據xml配置文件,建立相應的文件夾 
14 
此時Hadoop+HA配置文件已經配好,就差ssh免密碼登錄+格式化Hadoop系統。 
等我們裝完所有軟件(Zookeeper+hbase),克隆機器後再進行ssh免密碼登錄及Hadoop格式化。克隆後還需要更改每個節點的/etc/sysconfig/network中的hostname,以及更改master2中$HADOOP_HOME/etc/hadoop/yarn-site.xml文件的yarn.resourcemanager.ha.id屬性值爲rm2

安裝Zookeeper3.4.6

  • 1.解壓Zookeeper

  • 2.Zookeeper環境變量的配置 
    1 
    添加Zookeeper的路徑 
    2

  • 3.更改配置文件

將conf/zoo_sample.cfg改成conf/zoo.cfg 
3 
然後對zoo.cfg進行更改 
4 
5


  • 4.在DataDir路徑下創建myid文件

根據配置文件的dataLogDir路徑 
創建/soft/zookeeper-3.4.6/var/datalog文件夾 
6 
創建/soft/zookeeper-3.4.6/var文件夾 
再創建/soft/zookeeper-3.4.6/var/data文件夾 
再創建/soft/zookeeper-3.4.6/var/data/myid文件 
7 
向其中輸入數字1 (對應zoo.cfg文件server後的數字) 
其他節點在克隆後應根據zoo.cfg中對應的值進行更改 
9


安裝Hbase1.0.0

  • 1.修改本機配置(這裏慎重,我修改後,重啓linux,出現重複輸入賬戶密碼,我最後通過單用戶登陸linux見配置文件重新修改回來了

10


  • 2.修改配置文件 
    11 
    conf/hbase-site.xml詳見附件(注意hbase.rootdir的值 用ip地址表示) 
    根據conf/hbase-site.xml中hbase.tmp.dir值來創建文件夾 
    12

  • 3.創建連接 
    13

  • 4.編輯regionserver文件

14


  • 5.覆蓋hbase中lib文件夾下hadoop*.jar文件

15 
(由於後期安裝hbase出錯,我把所有的hadoop下的jar包都導到hbase/lib下了) 
如果hbase下的lib文件夾中的zookeeper的jar包與Zookeeper中的jar包也不符,那麼也需要替換。 
至此hbase也安裝完了,克隆後需要做的是將集羣節點的時間進行統一。


克隆機器

  • 1.此時機器克隆4份。

分別更改其ip地址。圖形界面更改ip操作詳情見附件。


  • 2.ssh免密碼登錄

2.1 更改/etc/sysconfig/network文件 
16 
2.2生成密鑰 
17一路回車即可 
2.3 複製到公共密鑰中 
18 
2.4 將該機器的公共密鑰遠程複製到想遠程登錄的機器中 
19 
在提示中輸入yes、密碼 
2.5 配置雙向ssh登錄。 
此時master1已經可以通過ssh登錄其他機器了,接下來我們配置所有機器相互無密碼登錄。 
我們那其中一臺機器slave3舉例,其他機器(master2 slave1 slave2)都執行此操作,這裏我們就不一一寫明。 
把slave3密鑰傳到其他所有機器上。 
20 
根據提示,輸入yes、密碼 
在每一臺機器上(master2 slave1 slave2 slave3),對其他所有機器都執行此操作。 
21 
然後在其他機器上將密鑰追加到公鑰文件末尾。 
22 
此時就可以雙向無密鑰登錄了。 
我們可以查看/root/.ssh/authorized_keys文件,就能發現每臺機器的密鑰。 
23


  • 3.更改hadoop配置文件

更改master2中$HADOOP_HOME/etc/hadoop/yarn-site.xml文件中: 
Yarn.resourcemanager.ha.id的屬性值爲rm2 
24 
25


  • 4.更改Zookeeper文件

更改$ZOOKEEPER_HOME/var/data/myid文件 
26 
相應的值根據$ZOOKEEPER_HOME/conf/zoo.cfg中的id來更改 
27


  • 5.同步時間

首先我們確立master1爲時間服務器,我們通過配置使其他節點自行與master1進行時間同步。 
5.1對master1時間服務器進行操作: 
檢查時間服務是否安裝 
28 
更改相關配置文件 
29 
30 
啓動服務31 
檢查master1是否和自己同步完成 
32 
5.2其他機器相對於master1進行時間同步 
當master1的時間服務器啓動3-5分鐘後,我們對其他節點進行與master1的時間同步。 
更改/etc/ntp.conf文件配置 
33 
將master2的/etc/ntp.conf發送到其他的機器中 
34 
在其他節點將時間服務開啓 
35

5.3時間服務設置爲開機啓動 
分別在master1 master2 slave1 slave2 slave3執行該命令 
36 
5.4 在時間服務器上開放端口 
根據ip地址來輸入命令 
37


第一次部署+啓動hadoop+zookeeper+hbase

剛剛安裝完hadoop需要部署,再啓動。以下是第一次所需的執行,以後再啓動就不需要在這麼做了。

  • 1.啓動Zookeeper

分別在每個機器上運行命令zkServer.sh start或者在$ZOOKEEPER_HOME/bin目錄下運行./zkServer.sh start命令。然後可以通過命令jps來查看Zookeeper啓動的進程QuorumPeerMain。 
1 
可通過zkServer.sh status命令來查看Zookeeper狀態。正常是機器中只有一個leader,其他的都是follow 
2


  • 2.格式化ZooKeeper集羣

目的是在ZooKeeper集羣上建立HA的相應節點。 
在master1機器上執行命令 
3 
他會根據$HADOOP_HOME/etc/hadoop/core-site.xml文件中ha.zookeeper.quorum的值來進行初始化。

3.啓動journalnode進程 
在master1節點上執行 
4 
或者在每臺機器上執行 
5 
slave1 slave2 slave3 
6 
推薦第二種方法,第一種方法master1和master2的journalnode無法啓動 
啓動後在所有節點上多出JournalNode進程


  • 4.格式化namenode

在master1上執行命令 
7 
會在mydata文件下創建一些文件夾及文件(name或者data以及journal)


  • 5.啓動namenode

在master1上執行命令 
8 
在master1上多出進程NameNode


  • 6.將剛纔格式化的namenode信息同步到備用namenode上

在master2機器上執行命令 
9


  • 7.在master2上啓動namenode 
    10 
    在master2上多出進程NameNode

  • 8.啓動所有datanode

在master1上執行命令 
11 
執行後在datanode節點上顯示的進程datanode 
12


  • 9.啓動yarn

在master1上執行命令 
13 
在master1上多出ResourceManager進程,在slave1 slave2 slave3上多出NodeManager進程


  • 10.啓動ZKFC

在master1和master2上啓動zkfc 
14


  • 11.Hadoop啓動成功

下圖是兩個啓動後的master節點 
15 
16 
17


  • 12.啓動hbase

在master1上執行命令 
18


第n次啓動

  • 1.對於HA,要先啓動Zookeeper

zkServer.sh start (每個節點)


  • 2.啓動hadoop

start-dfs.sh start-yarn.sh (master1節點)


  • 3.啓動hbase

start-hbase.sh (master1節點)


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