Phoenix概述及其安装部署

文章目录

概述

概念

Phoenix是一种提供SQL查询,将SQL转化为JavaAPI来操作Hbase的工具

功能

  • 专门基于Hbase所涉及的SQL on Hbase 工具
  • 使用Phoenix实现基于SQL操作Hbase
  • 使用Phoenix自动构建二级索引并维护二级索引

原理

  • 上层提供SQL接口

底层全部通过Hbase Java API来实现,通过构建一系列的Scan和Put来实现数据的读写

  • 功能非常丰富

底层封装了大量的内置的协处理器,可以实现各种复杂的处理需求,例如二级索引等

特点

  • 优点
  1. 支持SQL接口
  2. 支持自动维护二级索引
  • 缺点
  1. SQL支持的语法不全面
  2. Bug比较多
  • Hive on Hbase对比
  1. Hive:SQL更加全面,但是不支持二级索引,底层通过分布式计算工具来实现
  2. Phoenix:SQL相对支持不全面,但是性能比较好,直接使用HbaseAPI,支持索引实现

应用

  • Phoenix适用于任何需要使用SQL或者JDBC来快速的读写Hbase的场景
  • 或者需要构建及维护二级索引场景

安装部署

  1. 下载
    链接: https://pan.baidu.com/s/11q28N8qwbPIMLclXwRLu2Q 密码: 9jk3

  2. 第一台机器上传解压
    cd /export/software/

  3. 第一台机器解压

tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz -C /export/server/
cd /export/server/
mv apache-phoenix-5.0.0-HBase-2.0-bin phoenix-5.0.0-HBase-2.0-bin
  1. 修改三台Linux文件句柄数
vim /etc/security/limits.conf
#在文件的末尾添加以下内容,*号不能去掉

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
  1. 将Phoenix所有jar包分发到Hbase的lib目录下
#拷贝到第一台机器
cd /export/server/phoenix-5.0.0-HBase-2.0-bin/
cp phoenix-* /export/server/hbase-2.1.0/lib/
cd /export/server/hbase-2.1.0/lib/
#分发给第二台和第三台
scp phoenix-* node2:$PWD
scp phoenix-* node3:$PWD
  1. 修改hbase-site.xml,添加一下属性
cd /export/server/hbase-2.1.0/conf/
vim hbase-site.xml

添加如下内容:
<!-- 关闭流检查,从2.x开始使用async -->
<property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
<!-- 支持HBase命名空间映射 -->
<property>
    <name>phoenix.schema.isNamespaceMappingEnabled</name>
    <value>true</value>
</property>
<!-- 支持索引预写日志编码 -->
<property>
  <name>hbase.regionserver.wal.codec</name>
  <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>
<!-- 配置NS映射 -->
<property>
  <name>phoenix.schema.isNamespaceMappingEnabled</name>
  <value>true</value>
</property>
  1. 同步给其他两台机器
scp hbase-site.xml node2:$PWD
scp hbase-site.xml node3:$PWD
  1. 同步给Phoenix
cp hbase-site.xml /export/server/phoenix-5.0.0-HBase-2.0-bin/bin/
  1. 重启Hbase
stop-hbase.sh
start-hbase.sh
  1. 启动Phoenix
cd /export/server/phoenix-5.0.0-HBase-2.0-bin/
bin/sqlline.py node1:2181
  1. 测试
    !tables
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zh2475855601/article/details/115142908