CDH5.4 安装Phoenix

CDH对Phoenix的安装支持并没有像其他Hadoop组件如HBase、Impala那些可以直接从CDH Manager进行一键式安装,CDH 实验室提供一个CLAS_PHOENIX的parcel包,确实是可以通过CDH Manager中安装parcel的方法来安装,如http://phoenix.trenddevs.co.uk/parcels/4.13.1-cdh5.11.2/,可以提供客户正式使用,支持的Phoenix版本也比较新(支持CDH版本至少5.7)。

本文使用的CDH版本为CDH5.4,由于并没有从网上找到合适的parcel版本可以直接从CDH Manager安装,因此选择直接通过编译对应的源码安装。Phoenix-for-cloudera一个github的源码地址:git clone https://github.com/chiastic-security/phoenix-for-cloudera.git 可以下载支持不同版本CDH的Phoenix。
源码下载及编译命令如下,

git clone https://github.com/chiastic-security/phoenix-for-cloudera.git
git branch -a
git checkout remotes/origin/4.6-HBase-1.0-cdh5.4
cd phoenix-for-cloudera/
mvn clean package -DskipTests -Dcdh.flume.version=1.6.0

上述编译结束后,会在phoenix-for-cloudera/phoenix-assembly/target生成相应的phoenix包,下面我们需要做的是,
1 把phoenix-4.6.0-cdh5.4.5-server.jar复制到CDH集群中每个RegionServer的hbase lib目录下,这里的目录为opt/cloudera/parcels/CDH/lib/hbase/lib
2 重启HBase
3 将phoenix-4.6.0-cdh5.4.5-all.tar.gz解压并把文件夹复制到集群中的某一台机器上,通过sqlline.py客户端工具连接Phoenix,cd phoenix-4.6.0-cdh5.4.5/bin,./sqlline.py zk:2181

如果配置无误,输出如下,

[root@esg08 bin]# ./sqlline.py esg08:2181
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:esg08:2181 none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:esg08:2181
17/12/19 14:02:41 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Connected to: Phoenix (version 4.6)
Driver: PhoenixEmbeddedDriver (version 4.6)
Autocommit status: true
Transaction isolation: TRANSACTION_READ_COMMITTED
Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
85/85 (100%) Done
Done
sqlline version 1.1.8
0: jdbc:phoenix:esg08:2181>
0: jdbc:phoenix:esg08:2181> !tables
+------------------------------------------+------------------------------------------+------------------------------------------+------------------------------------------+--------------------+
|                TABLE_CAT                 |               TABLE_SCHEM                |                TABLE_NAME                |                TABLE_TYPE                |                 RE |
+------------------------------------------+------------------------------------------+------------------------------------------+------------------------------------------+--------------------+
|                                          | SYSTEM                                   | CATALOG                                  | SYSTEM TABLE                             |                    |
|                                          | SYSTEM                                   | FUNCTION                                 | SYSTEM TABLE                             |                    |
|                                          | SYSTEM                                   | SEQUENCE                                 | SYSTEM TABLE                             |                    |
|                                          | SYSTEM                                   | STATS                                    | SYSTEM TABLE                             |                    |
+------------------------------------------+------------------------------------------+------------------------------------------+------------------------------------------+--------------------+

下面我们可以在此交互式客户端中试用简单的SQL语句了,

0: jdbc:phoenix:esg08:2181> create table t1(a integer primary key, b varchar(10));
No rows affected (0.631 seconds)

0: jdbc:phoenix:esg08:2181> upsert into t1 values(1,'ABC');
1 row affected (0.199 seconds)
0: jdbc:phoenix:esg08:2181> select * from t1;
+------------------------------------------+------------+
|                    A                     |     B      |
+------------------------------------------+------------+
| 1                                        | ABC        |
+------------------------------------------+------------+
1 row selected (0.083 seconds)
0: jdbc:phoenix:esg08:2181> explain select * from t1;
+------------------------------------------+
|                   PLAN                   |
+------------------------------------------+
| CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER T1 |
+------------------------------------------+
1 row selected (0.028 seconds)
0: jdbc:phoenix:esg08:2181> !exit
Closing: org.apache.phoenix.jdbc.PhoenixConnection

我们也可以通过客户端工具连接Phoenix,通过界面化的方式执行SQL语句,由于Phoenix支持标准的JDBC,因此大多数支持JDBC工具的客户端工具如SQuirreL可以通过配置连接到Phoenix,这可以参考我的另外一篇博文:http://blog.csdn.net/post_yuan/article/details/78854862

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值