之前有过一篇文章讲述CDH5.16.1如何整合phoenix,但是,但是,但是,这个版本整合的是phoenix4.7,这个版本无法使用分页查询,所以必须升级为phoenix4.8及其以上。刚好最近在研究实时查询的方案。之前有实验过impala+kudu在3亿+数据的数据表上的查询效果,整体效果不错,基本上都是秒出结果,所以这次研究一下hbase+phoenix的方案,对比一下。
1、选择版本
phoenix1.png由于phoenix4.7是对应hbase1.3的,所以选择最新的一个CDH版本,因为我这里是CDH5.16.1,内嵌的Hbase版本为1.2的。然而phoenix官网并没有提供CDH5.16.1的相应的版本,支持CDH的最新的只有4.14.0-cdh5.14.2,好,就选择这个版本了。
phoenix2.png phoenix3.png直接点击下载。。。
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
phoenix_src2.png
编译要蛮久的
phoenix_src3.png3、Phoenix部署与安装
进入apache-phoenix-4.14.0-cdh5.14.2-src/phoenix-assembly/target下,可以看到:
phoenix_setup1.png有一个压缩包叫:phoenix-4.14.0-cdh5.14.2.tar.gz,将其解压
phoenix_setup2.png将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_setup4.png
将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_valid1.png
验证分页
phoenix_valid2.png好,到此为止,phoenix升级成功。。
网友评论