HBase安裝教程


一、版本介紹

linux : CentOS7
Hadoop : 2.7.6
zookeeper : 3.4.6
hbase : 1.4.6
jdk : jdk1.8.0_171
三個節點的主機名分別為:master、node1、node2

二、安裝Hadoop

HBase 是在 Hadoop 這種分布式框架中提供持久化的數據存儲與管理的工具。在使用 HBase 的分布式集群模式時,前提是必須有 Hadoop 系統,所以我們需要先安裝Hadoop,進行到這一步相信大家已經安裝過Hadoop環境了,如果沒有安裝的可以參考下面的鏈接。
https://www.cnblogs.com/yy-yang/p/14615048.html

三、安裝zookeeper

zookeeper安裝步驟
hbase Client客戶端、Master、Region都會通過心跳機制(RPC通信)與zookeeper保持聯系
1、上傳安裝包到master並解壓
tar -zxvf zookeeper-3.4.6.tar.gz
我這里壓縮包存放在/usr/local/module下,解壓到/usr/local/soft目錄下,讀者需要根據自己的實際情況安裝,下面的環境變量也需要根據自己實際情況配置
image
2、配置環境變量

vim /etc/profile

在配置文件中加入以下內容

export ZOOKEEPER_HOME=/usr/local/soft/zookeeper-3.4.6 
export PATH=$PATH:$ZOOKEEPER_HOME/bin

使環境變量生效
source /etc/profile
輸入zk按tab鍵,如果有提示說明環境變量配置的沒問題
image

3、修改配置文件
cd /usr/local/soft/zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo.cfg

修改zoo.cfg
data目錄下面會創建
注意:路徑要與自己的一致
dataDir=/usr/local/soft/zookeeper-3.4.6/data
增加以下內容
注意:主機名要改成自己的

server.0=master:2888:3888
server.1=node1:2888:3888
server.2=node2:2888:3888

image
4、同步到其它節點
該命令在/usr/local/soft下面執行

scp -r zookeeper-3.4.6 node1:`pwd`
scp -r zookeeper-3.4.6 node2:`pwd`

同步配置node1和node2的環境變量
下面寫的為絕對路徑,可以在任意地方執行

scp /etc/profile node1:/etc/
scp /etc/profile node2:/etc/

在所有節點執行使新配置的環境變量生效
source /etc/profile

4、創建/usr/local/soft/zookeeper-3.4.6/data目錄,所有節點都要創建

mkdir /usr/local/soft/zookeeper-3.4.6/data

在data目錄下創建myid文件
vim /usr/local/soft/zookeeper-3.4.6/data/myid
master,node1,node2分別加上0,1,2
這個數字用來唯一標識這個服務,一定要保證唯一性,zookeeper會根據這個id來取出server.x上的配置
image

image

image
5、同步時間
zookeeper節點之間需要實時監聽節點是否存活
如果沒有ntpdate命令,可以yum命令先安裝:
yum install ntp -y
從網絡服務器同步時間(需要虛擬機聯網):
ntpdate -u s2c.time.edu.cn
(經常掛起虛擬機,可能會導致時間停止,可使用crontab做成定時同步)
   crontab -e // 進入crontab命令編輯模式
   加入以下內容(每十分鍾同步一次):
   */10 * * * * ntpdate -u s2c.time.edu.cn

6、啟動zk,
zkServer.sh start 三台都需要執行
zkServer.sh status 查看狀態

當有一個leader的時候啟動成功,我這里node2為leader,這個是隨機的每次啟動可能不一樣
image

下面簡單介紹下zookeeper的使用,與本次安裝無關,可以忽略
連接zk
zkCli.sh

zk 是一個目錄結構 ,每個節點可以存數據,同時可以有子節點

zk shell
創建目錄
create /test test create /test/a 1
獲取數據
get /test
ls /test

delete只能刪除沒有子節點的節點
rmr /test 刪除節點

重置zk
1、殺掉所有zk進程
kiil -9 pid

2、刪除data目錄下的version文件, 所有節點都要刪除
rm -rf /usr/local/soft/zookeeper-3.4.6/data/version-2

2、啟動zk
zkServer.sh start

三、HBase安裝

Hbase的啟動前需要先啟動zookeeper和Hadoop,這里先啟動好再進行下面的安裝
准備工作
1、啟動hadoop
start-all.sh
驗證
http://master:50070

2、啟動zookeeper
需要在在三台中分別啟動
zkServer.sh start zkServer.sh status
搭建hbase

1、上傳解壓到自己的安裝目錄
tar -zxvf hbase-1.4.6-bin.tar.gz

2、修改hbase-env.sh文件
進入到配置文件目錄
cd /usr/local/soft/hbase-1.4.6/conf
vim hbase-env.sh
增加java配置(根據自己實際情況配置,文件中的這行注釋掉了,可以找到后修改也可以直接在最后面添加這一行)
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
image
關閉默認zk配置
因為HBase自己有個zk,這里我們把它自帶的關掉,用我們自己的
export HBASE_MANAGES_ZK=false
image
3、修改hbase-site.xml文件
vim hbase-site.xml

  <!--hbase.root.dir 將數據寫入哪個目錄-->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
  </property>
  <!--單機模式不需要配置,分布式配置此項,value值為true,多節點分布-->
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <!--單機模式不需要配置多個IP,分布式配置此項value值為多個主機ip,多節點分布-->
    <name>hbase.zookeeper.quorum</name>
    <value>node1,node2,master</value>
  </property>

image
4、修改regionservers文件
默認是單節點的,我這里搭建的是分布式的, 在這里列出了你希望運行的全部 HRegionServer,一行寫一個host (就像Hadoop里面的 slaves 一樣
改為自己的子節點主機名
vim regionservers

node1
node2

image

如果是偽分布式版本,增加master即可

5、同步到所有節點(如果是偽分布式不需要同步)
命令在hbase安裝的文件目錄下運行,例如我的hbase裝在/usr/local/soft
命令就在/usr/local/soft下運行
scp -r hbase-1.4.6/ node1:`pwd` scp -r hbase-1.4.6/ node2:`pwd`
image
6、配置環境變量
vim /etc/profile

export HBASE_HOME=/usr/local/soft/hbase-1.4.6
export PATH=$PATH:$HBASE_HOME/bin

同步配置node1和node2的環境變量
下面寫的為絕對路徑,可以在任意地方執行

scp /etc/profile node1:/etc/
scp /etc/profile node2:/etc/

在所有節點執行使新配置的環境變量生效
source /etc/profile
7、啟動hbase集群 , 需要在master上執行

start-hbase.sh
通過jps查看下進程
master上有
image
其他兩個節點
image
8、驗證hbase
http://master:16010
image
hbase日志文件所在的目錄
/usr/local/soft/hbase-1.4.6/logs
關閉集群的命令
stop-hbase.sh
通過 hbase shell 進入到hbase的命令行

創建表 列簇 列式數據庫
create 'test','info'
插入數據

put 'test','001','info:name','zhangsan'

查詢數據

get 'test','001'

如果hbase 搭建失敗了 不知道問題出在哪里
重置hbase
1、關閉hbase集群
殺死進程
stop-hbase.sh
2、刪除hdfs數據
hadoop dfs -rmr /hbase

3、刪除元數據 zk
zkCli.sh
rmr /hbase
4、重啟hbase

start-hbase.sh


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM