Phoenix最早是saleforce的一个开源项目,后来成为Apache基金的顶级项目。
Phoenix是构建在Hbase上的一个SQL层,能让我们用标准的JDBC APIs而不是Hbase客户端APIs来创建表,插入数据和对Hbase数据进行查询。
- put the SQL back in NoSQL
Phoenix完全使用Java编写,作为Hbase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个Hbase扫描,并编排执行以生成标准的JDBC结果集。直接使用Hbase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。
Hbase的查询工具有很多,如:Hive、Tez、Impala、Spark SQL、Phoenix等。
Phoenix通过以下方式使我们可以少写代码,并且性能比我们自己写代码更好
Apache Phoenix 官方站点:https://phoenix.apache.org/
Phoenix支持的sql语句: https://phoenix.apache.org/language/index.html
Phoenix 支持的DataTypes:https://phoenix.apache.org/language/datatypes.html
Phoenix 支持的函数:https://phoenix.apache.org/language/functions.html
Hbase使用三台主机:
hadoop102 : 192.168.60.102 hadoop103 : 192.168.60.103 hadoop104 : 192.168.60.104
其中hadoop102作为主节点,hadoop103和hadoop104作为从节点
Hbase的版本为2.4.6,phoenix的版本为5.1.2
前往官网 http://phoenix.apache.org/download.html/ 自行选择需要的版本
我这里选择的是5.1.2
我这里将phoenix上传到 /opt/software/中,安装在 /opt/module
解压到指定目录
[user@hadoop102 software]$ tar -zxvf phoenix-hbase-2.4-5.1.2-bin.tar.gz -C /opt/module/
将phoenix-server-hbase-2.4-5.1.2.jar文件拷贝到Hbase的lib目录下
[user@hadoop102 phoenix-hbase-2.4-5.1.2-bin]$ cp phoenix-server-hbase-2.4-5.1.2.jar /opt/module/hbase-2.4.6/lib/
将文件同步到其他主机上,可以使用scp分发文件
[user@hadoop102 module]$ xsync phoenix-hbase-2.4-5.1.2-bin/ [user@hadoop102 lib]$ xsync phoenix-server-hbase-2.4-5.1.2.jar3、重启Hbase
关闭hbase后记得检查所有主机进程是否消失
[user@hadoop102 hbase-2.4.6]$ bin/stop-hbase.sh [user@hadoop102 hbase-2.4.6]$ bin/start-hbase.sh4、确认是否安装成功
[user@hadoop102 /]$ cd /opt/module/phoenix-hbase-2.4-5.1.2-bin/ [user@hadoop102 phoenix-hbase-2.4-5.1.2-bin]$ bin/sqlline.py hadoop102,hadoop103,hadoop104:2181
0: jdbc:phoenix:hadoop102,hadoop103,hadoop104> !tables
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)