Phoenix快速入门系列(1) | 一文带你了解Phoenix及安装过程(超详细!!!)

2020-10-28 17:07:45 浏览数 (1)

一. Phoenix

1. 定义

  Phoenix 最早是 saleforce 的一个开源项目,后来成为 Apache 的顶级项目。   Phoenix 构建在 HBase 之上的开源 SQL 层. 能够让我们使用标准的 JDBC API 去建表, 插入数据和查询 HBase 中的数据, 从而可以避免使用 HBase 的客户端 API.   在我们的应用和 HBase 之间添加了 Phoenix, 并不会降低性能, 而且我们也少写了很多代码.

2. 特点

  1. 将 SQl 查询编译为 HBase 扫描
  2. 确定扫描 Rowkey 的最佳开始和结束位置
  3. 扫描并行执行
  4. 将 where 子句推送到服务器端的过滤器
  5. 通过协处理器进行聚合操作
  6. 完美支持 HBase 二级索引创建
  7. DML命令以及通过DDL命令创建和操作表和版本化增量更改。
  8. 容易集成:如Spark,Hive,Pig,Flume和Map Reduce。

3. 架构

4. 数据存储

  Phoenix 将 HBase 的数据模型映射到关系型世界

5. hbase和phoenix的对应关系

hbase

phoenix

namespace

database(库)

table

table(表)

column family

cf:cq

column quliafier

column quliafier

rowkey

主键

在sql中如建表时,指定的主键是联合主键(由多个列共同作为主键), 在hbase中,rowkey就是多个主键共同拼接的结果!

二. 安装详解

  • 1. 下载 Phoenix(博主已经准备好了) http://archive.apache.org/dist/phoenix/apache-phoenix-4.14.2-HBase-1.3/
  • 2. 解压并修改jar 包
代码语言:javascript复制
[bigdata@hadoop002 software]$ tar -zxvf apache-phoenix-4.14.2-HBase-1.3-bin.tar.gz -C /opt/module

[bigdata@hadoop002 module]$ mv apache-phoenix-4.14.2-HBase-1.3-bin phoenix
  • 3. 复制 jar 包
代码语言:javascript复制
[bigdata@hadoop002 phoenix]$ cp phoenix-4.14.2-HBase-1.3-server.jar /opt/module/hbase/lib

[bigdata@hadoop002 phoenix]$ cp phoenix-4.14.2-HBase-1.3-client.jar /opt/module/hbase/lib
  • 4. 分发 jar 包 需要把刚才 copy 的 2个jar 包分发到其他 HBase 节点
代码语言:javascript复制
scp -r phoenix-4.14.2-HBase-1.3-server.jar hadoop003:/opt/module/hbase/lib
scp -r phoenix-4.14.2-HBase-1.3-client.jar hadoop003:/opt/module/hbase/lib

scp -r phoenix-4.14.2-HBase-1.3-server.jar hadoop004:/opt/module/hbase/lib
scp -r phoenix-4.14.2-HBase-1.3-client.jar hadoop004:/opt/module/hbase/lib
  • 5. 配置环境变量
代码语言:javascript复制
[bigdata@hadoop002 phoenix]$ sudo vim /etc/profile
# phoenix_home
export PHOENIX_HOME=/opt/module/phoenix
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin

// 使立即生效
[bigdata@hadoop002 phoenix]$ source /etc/profile
  • 6. 启动 hadoop, zookeeper, HBase
代码语言:javascript复制
[bigdata@hadoop002 phoenix]$ start-dfs.sh 
[bigdata@hadoop003 module]$ start-yarn.sh 
[bigdata@hadoop002 phoenix]$ ../zookeeper-3.4.10/bin/start-allzk.sh 
[bigdata@hadoop002 phoenix]$ start-hbase.sh 
  • 7. 启动 Phoenix
代码语言:javascript复制
[bigdata@hadoop002 phoenix]$ bin/sqlline.py hadoop002:2181
  • 8. 退出
代码语言:javascript复制
0: jdbc:phoenix:hadoop002:2181> !quit

  本次的分享就到这里了

0 人点赞