1 简介
hbase 提供很方便的shell脚本以及java API等方式对Hbase进行操作,但是对于很对已经习惯了关系型数据库操作的开发来说,有一定的学习成本,如果可以像操作mysql等一样通过sql实现对Hbase的操作,那么很大程度降低了Hbase的使用成本。Apache Phoenix 组件就完成了这种需求,官方注解为 “Phoenix -we put the SQL back in NoSql”,通过官方说明,Phoenix 的性能很高,相对于 hbase 原生的scan 并不会差多少,而对于类似的组件 hive、Impala等,性能有着显著的提升,详细请阅读https://phoenix.apache.org/performance.html。
Apache Phoenix 官方站点:https://phoenix.apache.org/
Phoenix支持的sql语句: https://phoenix.apache.org/language/index.html
Phoenix 支持的DataTypes:https://phoenix.apache.org/language/datatypes.html
Phoenix 支持的函数:https://phoenix.apache.org/language/functions.html
2 安装配置
2.1 环境说明
Hbase使用两台主机,主机名和IP分别为:
master 172.18.68.119
slave01 172.18.68.88
master作为主节点,slave01作为从节点,即作为Hbase的HRegionServer。
hbase的安装位置:/home/hadoop/hbase
2.2 下载
在官网http://www.apache.org/dyn/closer.lua/phoenix/中选择提供的镜像站点中下载与安装的HBase版本对应的版本。本地使用的1.3.1,故下载的apache-phoenix-4.11.0-HBase-1.3/的tar.gz包。
2.3 安装配置
2.3.1 上传phoenix到master
使用secureCRT或者其他传输工具将下载的tar包上传到hbase集群的master结点中。
$cd /home/hadoop/
$mkdir phoenix
$cd phoenix
$rz
$tar -zxvf apache-phoenix-4.11.0-HBase-1.3-bin.tar.gz
$mv apache-phoenix-4.11.0-HBase-1.3-bin/ phoenix
2.3.2 拷贝phoenix-core-4.11.0-HBase-1.3.jar到RegionServer
将phoenix-core-4.11.0-HBase-1.3.jar拷贝到hbase集群中的所有region server的hbase的lib目录下。在测试环境下,master和slave01均作为regionserver。
$cd /home/hadoop/phoenix/phoenix
$cp phoenix-core-4.11.0-HBase-1.3.jar /home/hadoop/hbase/lib 拷贝到master
$scp -r phoenix-core-4.11.0-HBase-1.3.jarhadoop@172.18.68.88:/home/hadoop/hbase/lib 拷贝到slave01
2.3.3 重启hbase