MRS的HBase集群上安装Phoenix并对接superset

举报
akasugin 发表于 2020/06/02 11:27:15 2020/06/02
【摘要】 本文介绍Phoenix的安装,Phoenix对接HBase以及对接superset的方法。

一、背景

superset可以用来数据可视化展示,可以对接Hive和HBase。由于Hive不适用于实时展示数据,所以尝试用superset链接HBase数据库,但是superset不能直接访问HBase,需要安装Phoenix,所以本文介绍Phoenix的安装,Phoenix对接HBase以及对接superset的方法。

二、安装Phoenix

1. 进入phoenix官网下载:https://phoenix.apache.org/

image.png

2. 找到与HBase版本对应的phoenix版本,由于MRS 1.7.2分析集群的HBase版本是1.3.1,所以下载4.14.0版本的phoenix。

image.png

image.png

3. 远程登录Master节点,执行以下命令下载并解压Phoenix安装包:

wget htttp://apache.website-solution.net/phoenix/apache-phoenix-4.14.0-HBase-1.3/bin/apache-phoenix-4.14.0-HBase-1.3-bin.tar.gz
tar -xvf apache-phoenix-4.14.0-HBase-1.3-bin.tar.gz

4. 进入apache-phoenix-1.14.0-HBase-1.3-bin目录中,把phoenix-4.14.0-HBase-1.3-server.jar和phoenix-core-4.14.0-HBase-1.3.jar另个jar包拷贝到集群服务端的lib下并修改相应权限。(core节点也要拷贝),如果拷贝了但是没有修改权限,会报错如下:

image.png

cp phoenix-4.14.0-HBase-1.3-server.jar phoenix-core-4.14.0-HBase-1.3.jar /opt/Bigdata/MRS/FusionInsight-HBase-1.3.1.0302/hbase/lib/                                                                                                                                                                                                     chmod 700 /opt/Bigdata/MRS/FusionInsight-HBase-1.3.1.0302/hbase/lib/phoenix-4.14.0-HBase-1.3-server.jar
chmod 700 /opt/Bigdata/MRS/FusionInsight-HBase-1.3.1.0302/hbase/lib/phoenix-core-4.14.0-HBase-1.3.jar
chown omm:wheel  /opt/Bigdata/MRS/FusionInsight-HBase-1.3.1.0302/hbase/lib/phoenix-4.14.0-HBase-1.3-server.jar
chmod omm:wheel /opt/Bigdata/MRS/FusionInsight-HBase-1.3.1.0302/hbase/lib/phoenix-core-4.14.0-HBase-1.3.jar

5. 配置完毕,重启HBase,可以在MRS Manager界面重启。

6. 用phoenix连接HBase。

cd apache-phoenix-4.14.0-HBase-1.3-bin/bin
./sqlline.py HMasterIP:2181
>!table(会显示自动产生的几个系统表)
>!exit(退出)

7. 如果要映射HBase已有的表格,在phoenix新建该表格的映射。phoenix的大小写比较特殊,全部都是小写会转成大写,可以加上双引号避免这种情况。而且phoenix4.*以上会出现在phoenix新建与HBase相同的表格,更够同步更新,但是查询不会显示,而且phoenix删除该表格,HBase也会随之删除。所以建议新建视图,删除phoenix的表不会删除映射的HBase,不过新建视图确保HBase已经存在该表。

create view "hbase_weather"("ROW" varchar primary key,"info"."id" varchar,"info"."province" varchar,"info"."city" varchar,"info"."zone" varchar,"info"."time" varchar,"info"."maxTemperature" varchar,"info"."minTemperature" varchar,"info"."weather" varchar,"info"."windDirection" varchar,"info"."windPower" varchar) as select * from "hbase_weather";

8. 执行以下命令,打开8765端口,供superset访问。如果没有source环境变量,会报如下错误:

image.png

source /opt/client/bigdate_env
queryserver.py start

三、superset上用phoenix访问HBase数据库

1. 安装superset见参考文档:https://support.huaweicloud.com/usermanual-mrs/mrs_01_0418.html。可以参照华为云官网MRS服务的用户指南,下载安装superset的脚本,在installPipLib()方法里面加pipInstall pyPhoenix,注意一定要在superset的虚拟环境里面加,不能直接在linux用户下安装,否则superset识别不了。

2. 通过phoenix连接HBase数据库。

image.png



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。