1、phoenix的简介
hbase的java api或者其语法很难用,可以认为phoenix是一个中间件,提供了访问hbase的另外的语法。本文档为在CDH环境上安装Phoenix。
2、下载CDH版Phoenix
https://github.com/chiastic-security/phoenix-for-cloudera/tree/4.8-HBase-1.2-cdh5.8
3、编译
mvn clean package -DskipTests -Dcdh.flume.version=1.6.0
编译时,可以手动下载maven的jar包;
4、将phoenix的目录上传到服务器
phoenix-for-cloudera-4.8-HBase-1.2-cdh5.8
5、将编译打包好后的jar包拷贝到服务器
将phoenix-4.8.0-cdh5.8.0-server.jar,phoenix-4.8.0-cdh5.8.0-client.jar拷贝到每一个RegionServer的hbase/lib目录下
6、重启hbase集群
记住一定要重启Hbase集群;
7、启动phoenix
扫描二维码关注公众号,回复:
12463855 查看本文章
./sqlline.py kylin1,kylin2,kylin3:2181
8、简单测试
9、错误
客户端 出现 hbase.table.sanity.checks 错误 将该参数 设置为false 客户端正常登录
<property>
<name>hbase.table.sanity.checks</name>
<value>false</value>
</property>
10、错误这个就是Phoenix与hbase的版本不一致
[ec2-user@ip-172-31-60-109 phoenix-4.5.0-HBase-1.0-bin]$ bin/sqlline.py localhost:2181:/hbase
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:localhost:2181:/hbase none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:localhost:2181:/hbase
15/08/06 03:10:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/08/06 03:10:26 WARN impl.MetricsConfig: Cannot locate configuration: tried hadoop-metrics2-phoenix.properties,hadoop-metrics2.properties
15/08/06 03:10:27 WARN ipc.CoprocessorRpcChannel: Call failed on IOException
org.apache.hadoop.hbase.DoNotRetryIOException: org.apache.hadoop.hbase.DoNotRetryIOException: SYSTEM.CATALOG: org.apache.hadoop.hbase.client.Scan.setRaw(Z)Lorg/apache/hadoop/hbase/client/Scan;