天天看點

Zookeeper-3.4.10和HBase-1.3.0的安裝

實驗環境:

centos7,共四台虛拟機,對應關系如下:

master 192.168.159.101   hbase主節點

node1 192.168.159.102    hbase子節點    zookeeper

node2 192.168.159.103    hbase子節點    zookeeper

node3 192.168.159.104    hbase子節點    zookeeper

軟體版本:

hadoop2.7.3

zookeeper-3.4.10

hbase-1.3.0

一、搭建分布式zookeeper

zookeeper叢集節點的數量最好是奇數,具體原因可以自行搜尋,這裡搭建的時候沒有在master上安裝zookeeper,這樣既滿足了zookeeper節點是奇數同時又減輕了主節點的壓力。

1.首先解壓壓縮包

找到壓縮包的位置,進入壓縮包所在的目錄,執行解壓指令

tar -zxvf zookeeper-3.4.10.tar.gz

2.建立目錄

在zookeeper安裝目錄下建立存放資料和日志的目錄

mkdir  data

mkdir  log

3.修改配置檔案

進入conf目錄中,将zoo_sample.cfg重命名為zoo.cfg并進行編輯

cd zookeeper-3.4.10/conf

mv zoo_sample.cfg zoo.cfg

vi zoo.cfg

将dataDir和dataLogDir前的注釋符号#去掉,并修改為自己建立的目錄

dataDir=/home/hadoop/zookeeper-3.4.10/data
dataLogDir=/home/hadoop/zookeeper-3.4.10/logs
           

其中,dataDir用來存放zookeeper存放的資料,dataLogDir用來存放日志檔案

添加安裝zookeeper的節點對應的位址

第一台機器就寫 server.1=node1:2888:3888

第二台寫 server.2=node2:2888:3888之後以此類推

server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
           

配置完成後如下圖

Zookeeper-3.4.10和HBase-1.3.0的安裝

4.進入data目錄,建立檔案myid

cd data

vi myid

将檔案中寫入1

5.将zookeeper發送給其它節點

在此zookeeper位置為/home/hadoop下,将發送到node1,2,3的/home/hadoop/下,一定要注意權限問題,如果是root則忽略

scp -r /home/hadoop/zookeeper-3.4.10 [email protected]:/home/hadoop/

scp -r /home/hadoop/zookeeper-3.4.10 [email protected]:/home/hadoop/

chown -R hadoop:hadoop /home/hadoop/zookeeper-3.4.10          修改檔案所屬者群組

chmod -R 777 /home/hadoop/zookeeper-3.4.10              修改通路權限

6.修改每一台機器的myid

按照zoo.cfg中對應的數字修改,例如node2修改為2

vi myid

節點 myid
node1 1
node2 2
node3 3

7.進入bin目錄下,開啟zookeeper

使用指令zkServer.sh start依次開啟每一台節點上的zookeeper

Zookeeper-3.4.10和HBase-1.3.0的安裝

8.全部開啟完畢後檢視zookeeper狀态

zkServer.sh status,其中有一台為上司者,其它為跟從者

跟從者:

Zookeeper-3.4.10和HBase-1.3.0的安裝
Zookeeper-3.4.10和HBase-1.3.0的安裝

上司者:

Zookeeper-3.4.10和HBase-1.3.0的安裝

注意:開啟之後需要等待一小會才能看到選舉結果

9.使用jps指令檢視程序

jps

Zookeeper-3.4.10和HBase-1.3.0的安裝

其中,QuorumPeerMain即為zookeeper的程序

附zookeeper便捷啟動腳本:

#!/bin/shell
echo "start zookeeper server..."
#hosts裡是安裝zookeeper的主機名
hosts="node1 node2 node3"
#用循環來分别執行zkServer.sh start的腳本
for host in $hosts
do
  echo "$host"
  ssh $host  "source /etc/profile; /home/hadoop/zookeeper-3.4.10/bin/zkServer.sh start"
done
           

二、搭建分布式hbase

1.首先解壓

tar -zxvf hbase-1.3.0-bin.tar.gz

2.進入hbase中的conf目錄,配置hbase-env.sh

cd conf

vi habse-env.sh

修改jdk路徑

Zookeeper-3.4.10和HBase-1.3.0的安裝

使用外部的zookeeper,不使用hbase内置zookeeper,如果是單節點僞分布式叢集的話可以省力使用内置zookeeper(推薦)

Zookeeper-3.4.10和HBase-1.3.0的安裝

3.配置hbase-site.xml

在配置檔案中配置的任何路徑都不需要自己手動建立

vi hbase-site.xml

在configuration中添加配置

<configuration>

<!--hbase的根目錄-->
    <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
  </property>
<!--是否是分布式hbase-->
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
<!--zookeeper所在的節點-->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>node1,node2,node3</value>
  </property>
<!--hbase的zookeeper資料存放位置-->
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/hadoop/hbase-1.3.0/tmp/zk/data</value>
  </property>

</configuration>
           
Zookeeper-3.4.10和HBase-1.3.0的安裝

4.修改regionservers

此配置檔案是配置副節點的,即寫進的節點都為hbase的副節點

vi regionservers

将localhost删除,修改為附節點(注意一個節點占一行)

node1
node2
node3
           

5.将hbase發送到其它節點

同時也需要注意權限問題,如果不為root使用者,則需要修改一下權限

scp -r /home/hadoop/hbase-1.3.0 [email protected]:/home/hadoop/

scp -r /home/hadoop/hbase-1.3.0 [email protected]:/home/hadoop/

scp -r /home/hadoop/hbase-1.3.0 [email protected]:/home/hadoop/

6.在hbase主節點上開啟hbase(需要先啟動hadoop和zookeeper叢集)

start-hbase.sh

7.使用jps指令檢視程序

主節點:(HMaster程序)

Zookeeper-3.4.10和HBase-1.3.0的安裝

副節點:(HRegionServer程序)

Zookeeper-3.4.10和HBase-1.3.0的安裝

8.登入web端檢視hbase狀況

使用浏覽器檢視狀态,輸入master:16010,在RegionServers下可以看到有三個節點

Zookeeper-3.4.10和HBase-1.3.0的安裝

繼續閱讀