不多说,直接上干货!

 

写在前面的话  

  我这里,三个节点的bigdata集群。分别为master、slave1和slave2。

1、Phoenix的下载

  我的HBase版本是hbase-0.98.19。

下载地址:

  http://mirror.bit.edu.cn/apache/phoenix/  或者 http://apache.fayea.com/phoenix/

  注意:(hbase的版本一定要与phoenix的版本保持一致,否则运行报错,hbase-0.99没有相关的版本下载)

前提是是我们的 Hadoop 集群,zookeeper,Hbase 都安装成功。

  然后,自行去找自己相应的版本。

  

  或者(我这里,选择这个版本)

  或者,大家,也可以安装下面的这个版本

  最新下载的Phoenix文件名中都会标明对应的HBase版本  例: apache-phoenix-4.10.0-HBase-0.98-bin.tar.gz

2、上传压缩包

  将apache-phoenix-4.10.0-HBase-0.98-bin.tar.gz 上传hbase集群的其中一个服务器的一个目录下。(我建议放在master节点上)。

  或者我们可以单独选择一台服务器作为 Client 客户端安装 Phoenix,然后将安装包 。

  我这里选择在master上。

  我上传的目录为/home/hadoop/app。

3、解压缩文件

[hadoop@master app]$ tar -zxvf apache-phoenix-4.10.-HBase-0.98-bin.tar.gz 

[hadoop@master app]$ rm apache-phoenix-4.10.-HBase-0.98-bin.tar.gz
[hadoop@master app]$ ln -s apache-phoenix-4.10.-HBase-0.98-bin/ phoenix
... ...
[hadoop@master app]$ ll
lrwxrwxrwx hadoop hadoop Jul : phoenix -> apache-phoenix-4.10.-HBase-0.98-bin/

然后进入 Phoenix 目录可以看到所有目录结构 

[hadoop@master apache-phoenix-4.10.-HBase-0.98-bin]$ pwd
/home/hadoop/app/apache-phoenix-4.10.-HBase-0.98-bin
[hadoop@master apache-phoenix-4.10.-HBase-0.98-bin]$ ls
bin phoenix-flume-4.10.-HBase-0.98-tests.jar phoenix-queryserver-4.10.-HBase-0.98.jar
examples phoenix-hive-4.10.-HBase-0.98.jar phoenix-queryserver-4.10.-HBase-0.98-sources.jar
LICENSE phoenix-hive-4.10.-HBase-0.98-sources.jar phoenix-queryserver-4.10.-HBase-0.98-tests.jar
NOTICE phoenix-hive-4.10.-HBase-0.98-tests.jar phoenix-queryserver-client-4.10.-HBase-0.98.jar
phoenix-4.10.-HBase-0.98-client.jar phoenix-kafka-4.10.-HBase-0.98.jar phoenix-queryserver-client-4.10.-HBase-0.98-sources.jar
phoenix-4.10.-HBase-0.98-hive.jar phoenix-kafka-4.10.-HBase-0.98-minimal.jar phoenix-queryserver-client-4.10.-HBase-0.98-tests.jar
phoenix-4.10.-HBase-0.98-pig.jar phoenix-kafka-4.10.-HBase-0.98-sources.jar phoenix-spark-4.10.-HBase-0.98.jar
phoenix-4.10.-HBase-0.98-queryserver.jar phoenix-kafka-4.10.-HBase-0.98-tests.jar phoenix-spark-4.10.-HBase-0.98-sources.jar
phoenix-4.10.-HBase-0.98-server.jar phoenix-pherf-4.10.-HBase-0.98.jar phoenix-spark-4.10.-HBase-0.98-tests.jar
phoenix-4.10.-HBase-0.98-thin-client.jar phoenix-pherf-4.10.-HBase-0.98-minimal.jar phoenix-tracing-webapp-4.10.-HBase-0.98.jar
phoenix-core-4.10.-HBase-0.98.jar phoenix-pherf-4.10.-HBase-0.98-sources.jar phoenix-tracing-webapp-4.10.-HBase-0.98-runnable.jar
phoenix-core-4.10.-HBase-0.98-sources.jar phoenix-pherf-4.10.-HBase-0.98-tests.jar phoenix-tracing-webapp-4.10.-HBase-0.98-sources.jar
phoenix-core-4.10.-HBase-0.98-tests.jar phoenix-pig-4.10.-HBase-0.98.jar phoenix-tracing-webapp-4.10.-HBase-0.98-tests.jar
phoenix-flume-4.10.-HBase-0.98.jar phoenix-pig-4.10.-HBase-0.98-sources.jar README
phoenix-flume-4.10.-HBase-0.98-sources.jar phoenix-pig-4.10.-HBase-0.98-tests.jar
[hadoop@master apache-phoenix-4.10.-HBase-0.98-bin]$

 配置 Phoenix
  1、将 Phoenix 目录下的 phoenix-core-4.10.0-HBase-0.98.jar、phoenix-4.10.0-HBase-0.98-client.jar 拷贝到 hbase 集群各个节点 hbase 安装目录 lib 中。

  首先,大家明白为什么这么做。比如,你是有master、slave1和slave2以及client,你是把这个phoenix安装在client里,则此刻。你就需拷贝到master、slave1和slave2上。

  而,我这里,是只有master、slave1和slave2,我现在是将phoenix安装在master上,所以,我需拷贝到master、slave1和slave2上即可。

  以下是master、slave1和slave2下lib的默认情况

  然后  

  得到

  master、slave和slave2上都去做。这里不多赘述了

2、将 hbase 集群中的配置文件 hbase-site.xml 拷贝到 Phoenix 的 bin 目录下,覆盖原有的配置文件。

  我这里是,master去做(因为我的phonenix是安装在master上)

  以下是 Phoenix安装后bin的默认目录情况

3、将 hdfs 集群中的配置文件 core-site.xml、 hdfs-site.xml 拷贝到 Phoenix 的 bin 目录下。

  我这里是,master去做(因为我的phonenix是安装在master上)

  以下是 Phoenix的bin的目录情况

  得到

  为了规范起见,最好配置环境变量

#phoenix
export PHOENIX_HOME=/home/hadoop/app/phoenix
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin

  因为,我这用的是软连接,所以才是/home/hadoop/app/phoenix

  

  然后,再source下即可。

4、如果 hbase 之前已经在运行,安装完 Phoenix,需要重启 hbase 集群。

  见

HBase的多节点集群详细启动步骤(3或5节点)(分为Zookeeper自带还是外装)

   这里不多赘述。

  同时,修改apache-phoenix-4.10.0-HBase-0.98-bin/bin/下的psql.py和sqlline.py两个文件的权限为777。

5、验证 Phoenix 是否安装成功
  命令格式:./sqlline.sh <hbase.zookeeper.quorum>

其中,hbase.zookeeper.quorum 是 HBase 集群的 Zookeeper 队列,对应 IP/Hostname 逗号分割的列表。

  在phoenix的安装目录下,输入命令启动

bin/sqlline.py master 

[hadoop@master apache-phoenix-4.10.-HBase-0.98-bin]$ pwd
/home/hadoop/app/apache-phoenix-4.10.-HBase-0.98-bin
[hadoop@master apache-phoenix-4.10.-HBase-0.98-bin]$ ls
bin phoenix-flume-4.10.-HBase-0.98-tests.jar phoenix-queryserver-4.10.-HBase-0.98.jar
examples phoenix-hive-4.10.-HBase-0.98.jar phoenix-queryserver-4.10.-HBase-0.98-sources.jar
LICENSE phoenix-hive-4.10.-HBase-0.98-sources.jar phoenix-queryserver-4.10.-HBase-0.98-tests.jar
NOTICE phoenix-hive-4.10.-HBase-0.98-tests.jar phoenix-queryserver-client-4.10.-HBase-0.98.jar
phoenix-4.10.-HBase-0.98-client.jar phoenix-kafka-4.10.-HBase-0.98.jar phoenix-queryserver-client-4.10.-HBase-0.98-sources.jar
phoenix-4.10.-HBase-0.98-hive.jar phoenix-kafka-4.10.-HBase-0.98-minimal.jar phoenix-queryserver-client-4.10.-HBase-0.98-tests.jar
phoenix-4.10.-HBase-0.98-pig.jar phoenix-kafka-4.10.-HBase-0.98-sources.jar phoenix-spark-4.10.-HBase-0.98.jar
phoenix-4.10.-HBase-0.98-queryserver.jar phoenix-kafka-4.10.-HBase-0.98-tests.jar phoenix-spark-4.10.-HBase-0.98-sources.jar
phoenix-4.10.-HBase-0.98-server.jar phoenix-pherf-4.10.-HBase-0.98.jar phoenix-spark-4.10.-HBase-0.98-tests.jar
phoenix-4.10.-HBase-0.98-thin-client.jar phoenix-pherf-4.10.-HBase-0.98-minimal.jar phoenix-tracing-webapp-4.10.-HBase-0.98.jar
phoenix-core-4.10.-HBase-0.98.jar phoenix-pherf-4.10.-HBase-0.98-sources.jar phoenix-tracing-webapp-4.10.-HBase-0.98-runnable.jar
phoenix-core-4.10.-HBase-0.98-sources.jar phoenix-pherf-4.10.-HBase-0.98-tests.jar phoenix-tracing-webapp-4.10.-HBase-0.98-sources.jar
phoenix-core-4.10.-HBase-0.98-tests.jar phoenix-pig-4.10.-HBase-0.98.jar phoenix-tracing-webapp-4.10.-HBase-0.98-tests.jar
phoenix-flume-4.10.-HBase-0.98.jar phoenix-pig-4.10.-HBase-0.98-sources.jar README
phoenix-flume-4.10.-HBase-0.98-sources.jar phoenix-pig-4.10.-HBase-0.98-tests.jar
[hadoop@master apache-phoenix-4.10.-HBase-0.98-bin]$ bin/sqlline.py master

  当然,大家也可以跟我这样,做个软连接。

  如果大家这里,遇到这个问题

Traceback (most recent call last):
File "./sqlline.py", line , in <module>
import argparse
ImportError: No module named argparse

  则,解决办法

安装Phoenix时./sqlline.py执行报错File "./sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse解决办法(图文详解)

  这里,建议搭建,你若如跟我一样(master、slave1和slave2)集群的话,zookeeper也是都安装在master、slave1和slave2上,则

  使用 sqlline.py 脚本来启动,参数是 zookeeper 集群中各个节点的 hostname ,多个使用逗号隔开,另外端口为 2181

[hadoop@master apache-phoenix-4.8.-HBase-0.98-bin]$ pwd
/home/hadoop/app/apache-phoenix-4.8.-HBase-0.98-bin
[hadoop@master apache-phoenix-4.8.-HBase-0.98-bin]$ bin/sqlline.py master,slave1,slave2:
Setting property: [incremental, false]
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:master,slave1,slave2: none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:master,slave1,slave2:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hadoop/app/apache-phoenix-4.8.-HBase-0.98-bin/phoenix-4.8.-HBase-0.98-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hadoop/app/hadoop-2.6./share/hadoop/common/lib/slf4j-log4j12-1.7..jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
// :: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Connected to: Phoenix (version 4.8)
Driver: PhoenixEmbeddedDriver (version 4.8)
Autocommit status: true
Transaction isolation: TRANSACTION_READ_COMMITTED
Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
/ (%) Done
Done
sqlline version 1.1.
: jdbc:phoenix:master,slave1,slave2:>

如果出现上面的结果,说明 Phoenix 安装成功。

6、 罗列所有表
在客户端执行!tables 命令,罗列所有表到客户端界面

: jdbc:phoenix:master,slave1,slave2:> !tables
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-----------+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE | REMARKS | TYPE_NAME | SELF_REFERENCING_COL_NAME | REF_GENERATION | INDEX_STATE | IMMUTABLE_ROWS | SALT_BUCKETS | MULTI_TEN |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-----------+
| | SYSTEM | CATALOG | SYSTEM TABLE | | | | | | false | null | false |
| | SYSTEM | FUNCTION | SYSTEM TABLE | | | | | | false | null | false |
| | SYSTEM | SEQUENCE | SYSTEM TABLE | | | | | | false | null | false |
| | SYSTEM | STATS | SYSTEM TABLE | | | | | | false | null | false |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-----------+
: jdbc:phoenix:master,slave1,slave2:>

  注意: 通过该客户端展示出来的表都是通过 Phoenix 客户端创建的,通过其他方式创建的表在此处不显示。

  若要退出,则

  Phoenix早期版本如(2.11版本)需输入!quilt才可退出,目前高版本已改为!exit命令

0: jdbc:phoenix:master> !exit
Closing: org.apache.phoenix.jdbc.PhoenixConnection
[hadoop@master apache-phoenix-4.8.2-HBase-0.98-bin]$

  参考博客

HBase 4、Phoenix安装和Squirrel安装

phoenix-4.8.1-HBase-1.2安装(详细图文)

欢迎大家,加入我的微信公众号:大数据躺过的坑     免费给分享
 
 
 

同时,大家可以关注我的个人博客

 http://www.cnblogs.com/zlslch/   和  http://www.cnblogs.com/lchzls/ 

  人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
  目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获

以及对应本平台的QQ群:161156071(大数据躺过的坑)

最新文章

  1. 安装.cer证书并将证书从.cer格式转化为.pem格式
  2. mongoDB学习记录---PHP扩展的find返回值
  3. oop、try_except、单例模式
  4. UVa 100 - The 3n + 1 problem(函数循环长度)
  5. Python 命令详解
  6. 判断IE8
  7. 学习练习 java输入输出流 练习题1
  8. php 判断图片类型
  9. 我所理解的设计模式(C++实现)——备忘录模式(Memento Pattern)
  10. 医学影像工作站程序ProDicom的说明
  11. POJ 3061 Subsequence 二分查找
  12. 【视频编解码&#183;学习笔记】6. H.264码流分析工程创建
  13. 在开启kerberos 后,hbase存在数据命名空间的问题(解决方案)
  14. MySQL my.cnf 配置文件注释
  15. 详解WTL应用向导
  16. emWin酿造机过程演示,含uCOS-III和FreeRTOS两个版本
  17. prometheus监控示例
  18. LCT模板(无讲解)
  19. [入门]在Mac OS X下使用和配置Android Studio
  20. MyCat不支持的SQL语句

热门文章

  1. 正则表达式总结 java 等
  2. jquery api 常见api 元素操作例子
  3. visio扩大画布的大小
  4. NowCoderG:最大平方数
  5. scikit-learn:4.2.3. Text feature extraction
  6. Codeforces 401C Team 贪心法
  7. hive 分位数函数 percentile(col, p)
  8. 80X86寄存器介绍
  9. PE框架学习
  10. Unix系统编程()在堆上分配内存