環(huán)境
ubuntu 14.04
hadoop 2.7.1 搭建過(guò)程璃弄,請(qǐng)參考我的上幾篇文章
master 192.168.31.131
slave1 192.168.31.132
slave2 192.168.31.133
HBase依賴于zookeeper,故先搭建Zookeeper
Zookeeper是一個(gè)分布式開(kāi)源框架去枷,提供了協(xié)調(diào)分布式應(yīng)用的基本服務(wù),它向外部應(yīng)用暴露一組通用服務(wù)——分布式同步(Distributed Synchronization)邪码、命名服務(wù)(Naming Service)裕菠、集群維護(hù)(Group Maintenance)等,簡(jiǎn)化分布式應(yīng)用協(xié)調(diào)及其管理的難度闭专,提供高性能的分布式服務(wù)奴潘。ZooKeeper本身可以以單機(jī)模式安裝運(yùn)行,不過(guò)它的長(zhǎng)處在于通過(guò)分布式ZooKeeper集群(一個(gè)Leader影钉,多個(gè)Follower)画髓,基于一定的策略來(lái)保證ZooKeeper集群的穩(wěn)定性和可用性,從而實(shí)現(xiàn)分布式應(yīng)用的可靠性平委。
搭建Zookeeper
1.在zookeeper.apache.org上下載zookeeper-3.4.8.tar.gz
2.解壓 tar -xzvf zookeeper-3.4.8.tar.gz
3.修改權(quán)限 sudo chown -R cms(ubuntu用戶名) zookeeper-3.4.8
4.修改配置文件 /etc/profile奈虾,增加
export ZOOKEEPER_HOME=$HOME/zookeeper-3.4.8
export CLASSPATH=$ZOOKEEPER_HOME/lib
export PATH=$ZOOKEEPER_HOME/bin
5.對(duì)Zookeeper的配置文件的參數(shù)進(jìn)行設(shè)置
進(jìn)入zookeeper-3.4.5/conf
1)cp zoo_sample.cfg zoo.cfg
一是是修改dataDir的文件目錄位置
2)在zookeeper下新建一個(gè)存放數(shù)據(jù)的目錄
mkdir zookerperdata
3)vim zoo.cfg
dataDir=/home/cms/zookeeper-3.4.8/zookerperdata
二是配置id
server.1=192.168.31.131:2888:3888
server.2=192.168.31.132:2888:3888
server.3=192.168.31.133:2888:3888
注意上圖的配置中master,slave1分別為主機(jī)名
在上面的配置文件中"server.id=host:port:port"中的第一個(gè)port是從機(jī)器(follower)連接到主機(jī)器(leader)的端口號(hào)廉赔,第二個(gè)port是進(jìn)行l(wèi)eadership選舉的端口號(hào)肉微。
4)創(chuàng)建myid
接下來(lái)在dataDir所指定的目錄下(zookeeper-3.4.8/zookerperdata/)創(chuàng)建一個(gè)文件名為myid的文件,文件中的內(nèi)容只有一行蜡塌,為本主機(jī)對(duì)應(yīng)的id值碉纳,也就是上圖中server.id中的id。例如:在服務(wù)器1中的myid的內(nèi)容應(yīng)該寫入1馏艾。
vim myid
5)遠(yuǎn)程復(fù)制到slave1,slave2相同的目錄下
scp -r zookeeper-3.4.8 cms@slave1:/home/cms/
scp -r zookeeper-3.4.8 cms@slave1:/home/cms/
6)修改slave1,slave2機(jī)器上的myid的值分別為2和3
啟動(dòng)ZooKeeper集群
在ZooKeeper集群的每個(gè)結(jié)點(diǎn)上劳曹,執(zhí)行啟動(dòng)ZooKeeper服務(wù)的腳本,如下所示:
cms@slave1:~/zookeeper-3.4.8$ bin/zkServer.sh start
cms@slave2:~/zookeeper-3.4.8$ bin/zkServer.sh start```
如下圖所示:


其中琅摩,QuorumPeerMain是zookeeper進(jìn)程铁孵,啟動(dòng)正常。
如上依次啟動(dòng)了所有機(jī)器上的Zookeeper之后可以通過(guò)ZooKeeper的腳本來(lái)查看啟動(dòng)狀態(tài)房资,包括集群中各個(gè)結(jié)點(diǎn)的角色(或是Leader蜕劝,或是Follower),如下所示,是在ZooKeeper集群中的每個(gè)結(jié)點(diǎn)上查詢的結(jié)果:


通過(guò)上面狀態(tài)查詢結(jié)果可見(jiàn)熙宇,slave1是集群的Leader鳖擒,其余的兩個(gè)結(jié)點(diǎn)是Follower。
另外烫止,可以通過(guò)客戶端腳本蒋荚,連接到ZooKeeper集群上。對(duì)于客戶端來(lái)說(shuō)馆蠕,ZooKeeper是一個(gè)整體(ensemble)期升,連接到ZooKeeper集群實(shí)際上感覺(jué)在獨(dú)享整個(gè)集群的服務(wù),所以互躬,你可以在任何一個(gè)結(jié)點(diǎn)上建立到服務(wù)集群的連接播赁,例如:
```zkCli.sh -server slave1:2181```

quit退出
######停止zookeeper進(jìn)程:
```zkServer.sh stop```
至此,Zookeeper集群安裝大功告成吼渡!
######安裝HBase
1.下載以及解壓hbase-1.0.3.tar.gz
2.修改配置文件 /etc/profile容为,增加
export HBASE_HOME=$HOME/hbase-1.0.3
export CLASSPATH=$HBASE_HOME/lib
export PATH=$HBASE_HOME/bin
3.對(duì)Hbase的配置文件的參數(shù)進(jìn)行設(shè)置
進(jìn)入Hbase/conf
1)修改 hbase-env.sh
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HBASE_MANAGES_ZK=false // 告訴hbase使用外部的zk
2)修改hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/cms/zookeeper-3.4.8/zookerperdata</value>!-- 指定zk的數(shù)據(jù)文件夾 -->
</property>
</configuration>3)
vim regionservers```
添加內(nèi)容
slave1
slave2
4)遠(yuǎn)程復(fù)制到slave1,slave2相同的目錄下
scp -r hbase-1.0.3 cms@slave1:/home/cms/
scp -r hbase-1.0.3 cms@slave1:/home/cms/
啟動(dòng)Hbase
在啟動(dòng)hbase之前,要啟動(dòng)
1)啟動(dòng)hadoop集群
start-dfs.sh start-yarn.sh
2)分別啟動(dòng)zk(注意每個(gè)節(jié)點(diǎn)的zk都要啟動(dòng))
zkServer.sh start
3)啟動(dòng)hbase寺酪,在主節(jié)點(diǎn)上運(yùn)行:
start-hbase.sh```
jps


####測(cè)試Hbase

顯示:


至此搭建成功
######參考文獻(xiàn)
[Zookeeper集群環(huán)境安裝過(guò)程詳解](http://blog.csdn.net/cruise_h/article/details/19046357)
[hbase集群搭建](https://my.oschina.net/sucre/blog/700481)