EMR-Hadoop4.9.0引入Phoenix服务查询HBase

Target

此文目的是为了记录一个临时性的HBase查询需求(需要按照"info:time"过滤出某一天的数据总量),由于Hbase Shell不支持SQL协议查询不变,引入了Phoeinx使用SQL完成此需求。
另外,EMR4.9.0是不原生支持Phoenix服务的,故有此一文。


软件版本:

EMR4.9.0(HDFS3.2.1 Yarn3.2.1 Zookeeper3.6.2 HBase2.3.4)

Phoenix5.1.0

HBase配置(hbase-site.xml):

1.如图,首先在④中新增配置项处新增如下属性

phoenix.schema.isNamespaceMappingEnabled true

hbase.unsafe.stream.capability.enforce   false

hbase.table.sanity.checks false

hbase.regionserver.wal.codec   org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec

hbase.wal.provider  filesystem

2.其次,保存之后点击⑥中部署客户端配置使其生效

可以去hbase的conf目录下验证,本环境验证路径为:

/etc/ecm/hbase-conf-2.3.4-1.0.0/hbase-site.xml

 

安装并整合Phoeinx:

1.Phoeinx简介:

为HBase提供SQL查询,和JDBC API代码操作能力

2.Phoenix下载:
下载地址:

https://phoenix.apache.org/download.html

如图,建议选择半年前的稳定版,5.1.0-hbase.2.3

3.Phoenix安装:

将安装包放于/opt/apps/ecm/service/phoenix目录下,

并解压之:

 

 

4.phoenix-hbase-server包放到hbase的lib目录

参考命令:

cp /opt/apps/ecm/service/phoenix/phoenix-hbase-2.3-5.1.0-bin/phoenix-server-hbase-2.3-5.1.0.jar /opt/apps/ecm/service/hbase/2.3.4-1.0.0/package/hbase-2.3.4-1.0.0/lib/

注:将此包拷贝在HBase的所有节点上

5.配置环境变量

vi /etc/profile.d/phoenix.sh

export PHOENIX_HOME=/opt/apps/ecm/service/phoenix/phoenix-hbase-2.3-5.1.0-bin

export PHOENIX_CLASSPATH=$PHOENIX_HOME

export PATH=$PATH:$PHOENIX_HOME/bin

6.重启HBase并启动Phoenix

 启动Phoenix命令:

/opt/apps/ecm/service/phoenix/phoenix-hbase-2.3-5.1.0-bin/bin/sqlline.py emr-header-2.cluster-238606,emr-header-1.cluster-238606,emr-worker-1.cluster-238606:2181

 

测试Phoeinx查询HBase:

1.HBase中有一测试表,Test.student,测试数据与表格式如下图:

 

2.Phoeinx中先引入Test这个Schema其次创建表视图:

create schema "Test"

use "Test";

create view "Test"."student"(id varchar primary key,"info"."name" varchar,"info"."age" varchar,"info"."sex" varchar) column_encoded_bytes=0;

注:不建议创建表即create table "Test"."student",原因是,drop此table时会将hbase中的元数据删掉,而view不会,更安全

 

3.通过phoeinx查询hbase中表"Test:student"数据:

select * from "Test"."student";

注:使用!quit关闭phoeinx连接

V1:
ChangeLog:主要重心在介绍引入Phoeinx服务的过程,下一版可加入Hbase和Phoenix的框架知识和应用场景

Time:2021-08-27 22:43:03

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值