1. 程式人生 > >HBase1.2.6環境搭建

HBase1.2.6環境搭建

HBase1.2.6叢集搭建

搭建環境

Ubuntu 16.04 

HBase是基於Hadoop的,Hadoop的搭建可以看我的前一篇文章,有詳細的介紹 http://blog.csdn.net/tft3640/article/details/78971668

1、 Hadoop搭建

a)     配置固定IP

                i.         192.168.1.10    master.ubuntu.com       master

               ii.         192.168.1.11    slave1.ubuntu.com       slave1

              iii.         192.168.1.12    slave2.ubuntu.com       slave2

              iv.         192.168.1.13    slave3.ubuntu.com       slave3

注:註釋掉127.0.1.1這一行。

b)     Hadoop叢集監控相關埠

服務

Web介面

預設埠

NameNode

http://namenode_host:port/

50070

MapReduce JobHistory Server

http://jobhistoryserver_host:port/

19888

2、 配置Zookeeper

b)     當前穩定版為3.4.10,下載,並解壓至/usr/local/下(tar -zxf zookeeper-3.4.10.tar.gz-C /usr/local/)

複製到每個叢集節點相同的路徑下。

c)     配置環境變數,在/etc/profile檔案中增加

export ZK_HOME=/usr/local/zookeeper

export PATH=$PATH:$ZK_HOME/bin

d)     配置檔案zoo.cfg

                i.         在$ZK_HOME/conf中,複製zoo_sample.cfg到zoo.cfg

               ii.         在zoo.cfg中新增

dataDir=/usr/lib/zookeeper        #原檔案中已有   這個坑了我兩天。。

clientPort=2181                  #原檔案中已有

tickTime=2000                   #原檔案中已有

initLimit=5                      #原檔案中已有

syncLimit=2                     #原檔案中已有

dataLogDir=/var/log/zookeeper

server.0=master:2888:3888

server.1=slave1:2888:3888

server.2=slave2:2888:3888

server.3=slave3:2888:3888

1.     dataDir:儲存記憶體中資料庫快照的位置(需要先手動建立對應目錄)

2.     dataLogDir:事物日誌寫入指定的目錄中(需要先手動建立對應目錄)

3.     clientPort:監聽客戶端連線的埠

4.     tickTime:基本事件單元 ,以毫秒為單位。它用來控制心跳和超時,預設情況下最小的會話超時時間為兩倍的tickTime

5.     initLimit:允許follower(相對於leader而言的“客戶端”)連線並同步到leader的初始化連線時間,它是以tickTime的倍數來表示。當初始化連線時間超過設定倍數的tickTime時,則連線失敗。

6.     syncLimit:leader與follower之間傳送訊息時,請求和應答的時間長度。如果follower在設定的時間內不能與leader通訊,那麼此follower將被丟棄。

7.     server.x=[hostname]:[port1]:[port2]:其中x是一個數字,表示這個是第幾號伺服器,與myid(下面會有myid的配置)檔案中的id是一致的;右邊可以配置兩個埠,第1個埠用於follower和leader之間的資料同步和其他通訊,第2個埠用於leader選舉過程中投票通訊。

e)     配置myid檔案。

在master、slave1、slave2、slave3的/usr/lib/zooKeeper目錄(注意這個目錄是dataDir目錄)新建檔案myid,內容分別為數值0,1,2,3

f)      啟動/關閉ZooKeeper叢集及狀態檢視(如果是啟動和關閉命令,則在所有安裝ZooKeeper服務的節點都需要執行)

cd $ZK_HOME

bin/zkServer.sh start|stop|status

g)     注意防火牆,需要開啟2181、2888、3888埠。

3、 配置HBase

b)     sudo tar -zxvfhbase-1.2.6-bin.tar.gz -C /usr/local/,將HBase解壓

c)     配置環境變數,增加:

export HBASE_HOME=/usr/local/hbase-1.2.6

export PATH=$PATH:$HBASE_HOME/bin

d)     進行$HBASE_HOME/conf,修改hbase-site.xml檔案

<configuration>

       <property>

              <name>hbase.rootdir</name>

              <value>hdfs://master:8020/hbase</value>

       </property>

       <property>

              <name>hbase.master</name>

              <value>master</value>

       </property>

       <property>

              <name>hbase.cluster.distributed</name>

              <value>true</value>

       </property>

       <property>

              <name>hbase.ZooKeeper.property.clientPort</name>

              <value>2181</value>

       </property>

       <property>

              <name>hbase.ZooKeeper.quorum</name>

              <value>master,slave1,slave2,slav3</value>

       </property>

       <property>

              <name>ZooKeeper.session.timeout</name>

              <value>60000000</value>

       </property>

       <property>

              <name>dfs.support.append</name>

              <value>true</value>

       </property>

</configuration>

e)     配置hbase-evn.sh

export JAVA_HOME=/usr/local/jdk1.8.0_151

export HBASE_CLASSPATH=/usr/local/hbase-1.2.6/etc/Hadoop

export HBASE_MANAGES_ZK=false

f)      配置regionservers

slave1

slave2

slave3

g)     執行HBase

$HBASE_HOME/bin/start-hbase.sh 開啟

$HBASE_HOME/bin/stop-hbase.sh 關閉

注:先開啟hadoop在master節點上使用bashstart-all.sh,再在每個節點上開啟zookeeper,使用zkServer.sh start,最後開啟HBase。