我這里的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