在CDH环境下安装phoenix
我这里的CDH是6.2.0版本的,对应的HBase是2.1.0版本的
1、下载
下载地址: http://archive.apache.org/dist/phoenix/ 结合实际环境中hbase的版本下载
2、解压
上传到服务器然后解压,我这里就在CDH集群的主节点里面操作
tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz
3、配置
将phoenix目录下的phoenix-core-5.0.0-HBase-2.0.jar 、phoenix-5.0.0-HBase-2.0-client.jar 、phoenix-5.0.0-HBase-2.0-server.jar拷贝到各个 HBase 的 lib目录中(每个节点都要放)
hbase的lib目录在/opt/cloudera/parcels/CDH/lib/hbase/lib/
cp phoenix-core-5.0.0-HBase-2.0.jar phoenix-5.0.0-HBase-2.0-client.jar phoenix-5.0.0-HBase-2.0-server.jar /opt/cloudera/parcels/CDH/lib/hbase/lib
scp phoenix-core-5.0.0-HBase-2.0.jar phoenix-5.0.0-HBase-2.0-client.jar phoenix-5.0.0-HBase-2.0-server.jar 子节点ip:/opt/cloudera/parcels/CDH/lib/hbase/lib
将 hbase 集群中的配置文件 hbase-site.xml 拷贝到 Phoenix 的 bin 目录下,覆盖原有的配置文件。
cdh集群hbase的配置文件所在目录/etc/hbase/conf
cp hbase-site.xml /opt/data/apache-phoenix-5.0.0-HBase-2.0-bin/bin/
将 hdfs 集群中的配置文件 core-site.xml、 hdfs-site.xml 拷贝到 Phoenix 的 bin 目录下
cdh集群hdfs的配置文件所在目录/etc/hadoop/conf
cp core-site.xml /opt/data/apache-phoenix-5.0.0-HBase-2.0-bin/bin/ cp hdfs-site.xml /opt/data/apache-phoenix-5.0.0-HBase-2.0-bin/bin/
将htrace包拷贝到hbase的lib目录下(所有节点),如果不拷贝启动会报错
错误如下:
Error: org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.NoClassDefFoundError: org/apache/htrace/Trace
进入CDH的jars目录下 /opt/cloudera/parcels/CDH/jars
cp htrace-core-3.2.0-incubating.jar htrace-core4-4.1.0-incubating.jar htrace-core4-4.2.0-incubating.jar /opt/cloudera/parcels/CDH/lib/hbase/lib scp htrace-core-3.2.0-incubating.jar htrace-core4-4.1.0-incubating.jar htrace-core4-4.2.0-incubating.jar 172.16.0.94:/opt/cloudera/parcels/CDH/lib/hbase/lib scp htrace-core-3.2.0-incubating.jar htrace-core4-4.1.0-incubating.jar htrace-core4-4.2.0-incubating.jar 172.16.0.98:/opt/cloudera/parcels/CDH/lib/hbase/lib
修改权限:
在phoenix的bin目录下
chmod 777 psql.py chmod 777 sqlline.py
4、验证是否安装成功
启动前,如果hbase是运行状态的,需要重启hbase生效
进入在phoenix的bin目录下 执行启动命令
./sqlline.py 172.16.0.95,172.16.0.94,172.16.0.98:2181
命令格式:./sqlline.py <hbase.zookeeper.quorum>
其中,hbase.zookeeper.quorum 是 HBase 集群的 Zookeeper 队列,对应 IP/Hostname 逗号分割的列表
如果启动的时候遇到这问题
Traceback (most recent call last): File "./sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse
可以参考以下解决办法: https://www.cnblogs.com/zlslch/p/7409852.html