前言:
HBase作为kv数据库,在大数据应用中扮演着越来越重要的角色,但是HBase给出的原生态API(Table,scan,put,get)的晦涩和关联查询的缺失,导致一些业务能力的不足。phoenix为HBase提供了sql访问接口,接下来我们将总结一下具体项目中phoenix整合hbase。
什么是phoenix:
phoenix是构建在HBase之上的关系型数据库层,作为内嵌的客户端jdbc驱动提供以sql查询的方式用于对HBase中数据进行低延迟访问。特点是直接使用HBase的API,结合协处理器和自定义的过滤器,小范围查询毫秒级响应,千万数据秒级响应。
Phoenix安装:
系统环境如下:
jdk1.8.0
centos7.2
CDH5.9.1
phoenix下载
https://github.com/wjandy/phoenix-for-cloudera
phoenix编译
mvn compile 编译 mvn package 打包 mvn install 拷贝到本地依赖库
phoenix集成hbase:
将phoenix-[version]-server.jar添加到hbase集群(官网说是hbase的regionserver,实际中报错,需要整个集群都copy)的lib路径下,然后重启 hbase。
phoenix连接hbase:
./sqlline.py bd1,bd2,bd3:2181。 bd1,bd2,bd2是zookeeper集群的hostname
!tables 显示hbase表