之前有过一篇文章讲述CDH5.16.1如何整合phoenix,但是,但是,但是,这个版本整合的是phoenix4.7,这个版本无法使用分页查询,所以必须升级为phoenix4.8及其以上。刚好最近在研究实时查询的方案。之前有实验过impala+kudu在3亿+数据的数据表上的查询效果,整体效果不错,基本上都是秒出结果,所以这次研究一下hbase+phoenix的方案,对比一下。
1、选择版本
由于phoenix4.7是对应hbase1.3的,所以选择最新的一个CDH版本,因为我这里是CDH5.16.1,内嵌的Hbase版本为1.2的。然而phoenix官网并没有提供CDH5.16.1的相应的版本,支持CDH的最新的只有4.14.0-cdh5.14.2,好,就选择这个版本了。
直接点击下载。。。
2.源码编译
下载完成后是一个压缩包:apache-phoenix-4.14.0-cdh5.14.2-src.tar.gz
将压缩包解压出来。。
[root@cm test2]# cd apache-phoenix-4.14.0-cdh5.14.2-src
[root@cm apache-phoenix-4.14.0-cdh5.14.2-src]# cd mvn clean install -DskipTests
编译要蛮久的
3、Phoenix部署与安装
进入apache-phoenix-4.14.0-cdh5.14.2-src/phoenix-assembly/target下,可以看到:
有一个压缩包叫:phoenix-4.14.0-cdh5.14.2.tar.gz,将其解压
将phoenix-4.14.0-cdh5.14.2-server.jar这个包传到hbase路径下
/opt/cloudera/parcels/CDH-5.16.1-1.cdh5.16.1.p0.3/lib/hbase/lib
【每台hbase机器上都要】
在CDH的Hbase管理页面配置:
<property>
<name>hbase.table.sanity.checks</name>
<value>false</value>
</property>
将phoenix-4.14.0-cdh5.14.2.tar.gz解压的文件夹,上传到:
/usr/local/software/phoenix/
然后再在/etc/profile中新增:
export PHOENIX_HOME=/usr/local/software/phoenix/phoenix-4.14.0-cdh5.14.2
export PATH=${PHOENIX_HOME}/bin:$PATH
然后在执行 source /etc/profile
进入到phoenix对应的目录:
cd /usr/local/software/phoenix/phoenix-4.14.0-cdh5.14.2
将bin目录 下所有py文件都加上可执行的权限:
[root@master2 phoenix-4.14.0-cdh5.14.2]# chmod +x bin/*.py
每台机器上都按上述操作。。。
最后重启hbase
4、验证
[root@master bin]# ./sqlline.py master.cdh.com:2181
验证分页
好,到此为止,phoenix升级成功。。