一、什么是 Phoenix
Phoenix是一个开源的HBASE SQL层,是一个中间件,使用Phoenix我们就可以使用标准的JDBC API代替HBase客户端API来创建表,插入数据,查询你的HBase数据,具体的介绍请看官网http://phoenix.apache.org/。
二、在linux上搭建Phoenix
1、下载
Phoenix 下载地址:http://phoenix.apache.org/download.html 在里面找到匹配自己hbase版本的Phoenix
我的hbase是1.3版本的,所以我需要下载的是下面的版本,根据自己的hbase版本进行下载。
2、把下载的安装包上传到linux服务器上并解压 tar -zxvf apache-phoenix-4.14.0-HBase-1.3-bin
3、进入apache-phoenix-4.14.0-HBase-1.3-bin文件夹 cd apache-phoenix-4.14.0-HBase-1.3-bin,把用黑框圈出的三个jar包复制到 hbase 目录的 lib 目录下,注意,要复制到hbase集群的每一个 hbase 目录的 lib 目录下:可以用scp命令分发
复制完的结果如下:
4、将 hbase 集群中的配置文件 hbase-site.xml 拷贝到 Phoenix 的 bin 目录下,覆盖原有的配置文件,或者删除Phoenix 的 bin 目录下原有的 hbase-site.xml,把hbase集群配好的 hbase-site.xml 软连接到Phoenix 的 bin 目录下 ,使用ln -s命令进行软链接,链接后的结果如下:
5、启动hbase,如果在安装Phoenix 的时候hbase已经启动,则先关闭hbase,待安装完Phoenix上面的步骤再启动hbase
启动后查看hbase是否成功启动:jps -l
6、启动 Phoenix,先把目录定位到Phoenix 的bin目录,执行
bin/sqlline.py zookeeper地址
我的hbase依赖的zookeeper地址是 hadoop102:2888 ,所以我执行的命令为 bin/sqlline.py hadoop102:2888,你可以去hbase的hbase-site.xml配置中去找hbase依赖的zookeeper地址
启动后在sqlline 命令行中输入 !tables 这个命令可以hbase的数据库,如果出现如下显示,证明Phoenix安装完毕,最后我们就可以使用 Phoenix 去操作hbase了,Phoenix 的sql和真正的sql有一些区别,具体我们可以参照 下面的网址去编写 Phoenix 的sql语法 http://phoenix.apache.org/language/index.html 。