HBase是Apache的Hadoop项目的子项目,是Hadoop Database的简称。HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,HBase基于列的而不是基于行的模式。HBase是构建在 Apache Hadoop 和 Apache Zookeeper 之上。
安装 HBase 的前先安装 Apache Hadoop 和Apache Zookeeper , 如何安装 Hadoop 见https://www.jianshu.com/p/97449d067cd9,如何安装 Zookeeper 见 https://www.jianshu.com/p/f7c7b8854593。
Ubuntu 版本: 18.x ~ 20.x
HBase 版本:2.4.4 (https://hbase.apache.org)
1. 安装 JDK 和设置 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/ # 移动到你想要放置的文件夹
$ 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
$ vim ./conf/hbase-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 # 配置环境变量,记得打开注释
export HBASE_MANAGES_ZK=true # 设置为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. 设置 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. 复制 hbase-2.4.4 目录到 slave 上
在 slave 上设置 HBASE_HOME
6. 启动 HBase 集群
$ cd ~/apps
$ ./zookeeper-3.6.3/bin/zkServer.sh start # 必须最先启动
$ ./hadoop-3.2.2/sbin/start-dfs.sh
$ ./hadoop-3.2.2/sbin/start-yarn.sh # yarn节点启动
$ ./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节点启动
$ ./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/ # 移动到你想要放置的文件夹
$ 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 都要复制该文件
重启hbase 集群
$ cd phoenix-5.1.2
$ ./bin/sqlline.py hadoop-master-vm:2181 #HBase集群配置zookeeper集群的ip地址和端口。
利用!help 查看所有command。
10. Phoenix 的 Python 开发包
$ sudo apt-get install libkrb5-dev
$ sudo pip install phoenixdb