HBase是Apache的Hadoop項(xiàng)目的子項(xiàng)目,是Hadoop Database的簡(jiǎn)稱。HBase是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng),利用HBase技術(shù)可在廉價(jià)PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群。
HBase不同于一般的關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù),HBase基于列的而不是基于行的模式。HBase是構(gòu)建在 Apache Hadoop 和 Apache Zookeeper 之上。
安裝 HBase 的前先安裝 Apache Hadoop 和Apache Zookeeper , 如何安裝 Hadoop 見http://www.itdecent.cn/p/97449d067cd9,如何安裝 Zookeeper 見 http://www.itdecent.cn/p/f7c7b8854593。
Ubuntu 版本: 18.x ~ 20.x
HBase 版本:2.4.4? (https://hbase.apache.org)
1. 安裝 JDK 和設(shè)置 JAVA_HOME
略
2. 安裝 HBase 到 Hadoop 的 master 上
$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.4.4/hbase-2.4.4-bin.tar.gz? # 下載 HBase
$ mv ./hbase-2.4.4-bin.tar.gz ~/apps/? ? # 移動(dòng)到你想要放置的文件夾
$ tar -zvxf hbase-2.4.4-bin.tar.gz
$ mv hbase-2.4.4-bin hbase-2.4.4
$ cd hbase-2.4.4
$ vim ./conf/hbase-site.xml
<configuration>
<property>
? ? ? ? <name>hbase.rootdir</name>? <!-- 配置hbase根目錄 -->
? ? ? ? <value>hdfs://hadoop-master-vm:9000/hbase</value>
</property>
<property>
? ? ? ? <name>hbase.cluster.distributed</name> <!-- 是否開啟hbase分布式集群方案 -->
? ? ? ? <value>true</value>
</property>
<property>
? ? ? ? <name>hbase.zookeeper.quorum</name>? <!-- 默認(rèn)的zookeeper是單節(jié)點(diǎn)的,設(shè)置為自己的zookeeper -->
? ? ? ? <value>hadoop-master-vm:2181</value>
</property>
</configuration>
$ vim ./conf/hbase-env.sh
? export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64? # 配置環(huán)境變量,記得打開注釋
? export HBASE_MANAGES_ZK=true? # 設(shè)置為zookeeper管理hbase集群
$ vim ./conf/regionservers
? #localhost
? hadoop-master-vm
? hadoop-slave-vm
3. 鏈接 Hadoop 的配置文件
? $ cd conf
? $ ln -s ~/apps/hadoop-3.2.2/etc/hadoop/core-site.xml? core-site.xml
? $ ln -s ~/apps/hadoop-3.2.2/etc/hadoop/hdfs-site.xml? hdfs-site.xml
4. 設(shè)置 HBASE_HOME
$ sudo vi /etc/profile
? ? HBASE_HOME=/home/xxx/apps/hbase-2.4.4
? ? PATH=$PATH:$HBASE_HOME/bin
? ? export HBASE_HOME
? ? $ source /etc/profile
? ? $ echo $HBASE_HOME
5. 復(fù)制 hbase-2.4.4 目錄到? slave 上
? ? 在 slave 上設(shè)置 HBASE_HOME
6. 啟動(dòng) HBase 集群
$ cd ~/apps
$ ./zookeeper-3.6.3/bin/zkServer.sh start? # 必須最先啟動(dòng)
$ ./hadoop-3.2.2/sbin/start-dfs.sh
$ ./hadoop-3.2.2/sbin/start-yarn.sh? ? # yarn節(jié)點(diǎn)啟動(dòng)
$ ./hbase-2.4.4/bin/start-hbase.sh
http://hadoop-master-vm:16010/
7. 停止 HBase 集群
$ cd ~/apps
$ ./hbase-2.4.4/bin/stop-hbase.sh
$ ./hadoop-3.2.2/sbin/stop-yarn.sh? # yarn節(jié)點(diǎn)啟動(dòng)
$ ./hadoop-3.2.2/sbin/stop-dfs.sh
$ ./zookeeper-3.6.3/bin/zkServer.sh stop
8. Hbase shell
$ ./hbase-2.4.4/bin/hbase shell
hbase(main):001:0> create 'test', 'cf'
hbase(main):002:0> list 'test'
hbase(main):003:0> describe 'test'
hbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1'
hbase(main):005:0> put 'test', 'row1', 'cf:a', 'value1'
hbase(main):006:0> put 'test', 'row1', 'cf:a', 'value1'
hbase(main):006:0> get 'test', 'row1'
hbase(main):008:0> disable 'test'
hbase(main):011:0> drop 'test'
hbase(main):016:0> quit
9. 安裝 Phoenix
$ wget https://mirrors.bfsu.edu.cn/apache/phoenix/phoenix-5.1.2/phoenix-hbase-2.4-5.1.2-bin.tar.gz
$ mv ./phoenix-hbase-2.4-5.1.2-bin.tar.gz ~/apps/ # 移動(dòng)到你想要放置的文件夾
$ tar -zvxf phoenix-hbase-2.4-5.1.2-bin.tar.gz
$ mv phoenix-hbase-2.4-5.1.2-bin phoenix-5.1.2
$ cd phoenix-5.1.2
$ cp phoenix-server-hbase-2.4-5.1.2.jar ../hbase-2.4.4/lib? # master 和 slave 都要復(fù)制該文件
重啟hbase 集群
$ cd phoenix-5.1.2
$ ./bin/sqlline.py hadoop-master-vm:2181? ? #HBase集群配置zookeeper集群的ip地址和端口。
利用!help 查看所有command。
10. Phoenix 的 Python 開發(fā)包
$ sudo apt-get install libkrb5-dev
$ sudo pip install phoenixdb