Hadoop上搭建Zookeeper、HBase

環(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)該寫(xiě)入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```
如下圖所示:

![master](http://upload-images.jianshu.io/upload_images/1908836-7a7a18d21e6a4ecf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![slave1](http://upload-images.jianshu.io/upload_images/1908836-ba8f4b1b6c5c9f81.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
其中,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é)果:

![](http://upload-images.jianshu.io/upload_images/1908836-b09d963015dd31d3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![](http://upload-images.jianshu.io/upload_images/1908836-7d6521a6c2fa500c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
通過(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```

![](http://upload-images.jianshu.io/upload_images/1908836-01e92ca35045f795.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
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

![](http://upload-images.jianshu.io/upload_images/1908836-63f89379701ddbfa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![](http://upload-images.jianshu.io/upload_images/1908836-a3c0c21ebaf53ff7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

####測(cè)試Hbase

![](http://upload-images.jianshu.io/upload_images/1908836-6529db009e02c583.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
顯示:

![](http://upload-images.jianshu.io/upload_images/1908836-d47f836e2f7e4150.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![](http://upload-images.jianshu.io/upload_images/1908836-5d71d532e4d6514b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
至此搭建成功
######參考文獻(xiàn)
[Zookeeper集群環(huán)境安裝過(guò)程詳解](http://blog.csdn.net/cruise_h/article/details/19046357)
[hbase集群搭建](https://my.oschina.net/sucre/blog/700481)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近在學(xué)習(xí)大數(shù)據(jù)技術(shù),朋友叫我直接學(xué)習(xí)Spark,英雄不問(wèn)出處,菜鳥(niǎo)不問(wèn)對(duì)錯(cuò),于是我就開(kāi)始了Spark學(xué)習(xí)。 為什...
    Plokmijn閱讀 26,858評(píng)論 6 26
  • hadoop2集群搭建詳解------------------------天津九安醫(yī)療電子--吳偉 一、需要軟件 ...
    hogface閱讀 2,042評(píng)論 1 4
  • 搭建-安裝JDK 安裝Zookeeper之前,我們需要安裝JDK,JDK的安裝在實(shí)驗(yàn)一已經(jīng)介紹,本實(shí)驗(yàn)的環(huán)境已經(jīng)默...
    d6a12a231881閱讀 1,066評(píng)論 0 0
  • 1 Zookeeper概述# ZooKeeper是一個(gè)為分布式應(yīng)用所設(shè)計(jì)的分布的、開(kāi)源的協(xié)調(diào)服務(wù),它主要是用來(lái)解決...
    七寸知架構(gòu)閱讀 7,489評(píng)論 0 101
  • 安裝前提: ①. Jdk安裝并配置。 ②. Hadoop正確安裝,并可以正常啟動(dòng)HDFS系統(tǒng)。 ③. 安裝ssh,...
    d6a12a231881閱讀 846評(píng)論 0 0

友情鏈接更多精彩內(nèi)容