Phoenix集成cdh操作文档

Phoenix集成cdh操作文档

  • 说明

CDH除了能够管理自生所提供的一些大数据相关服务外,还允许将第三方服务添加到CDH集群(托管在CDH上)。你需要做的就是按照一定的规则流程制作相关程序包,最后发布到CDH上。虽然过程并不困难,但是手动操作尤其是一些关键配置容易出错,往往导致最终服务无法正常在CDH上安装运行。

本文就是指导大家如何打包自己的服务,发布到CDH上,并且由CDH控制服务的运行、监控服务的基本运行状态。

  • 相关配置

软件名

版本

备注

Cloudera-Manager

6.2.0

Phoenix

5.0.0

/opt/cloudera/parcels/

CentOS

7

  • 安装Phoenix

3.1 下载Phoenix的parcel包

3.2 制作软连接

ln -s /app/phoenix5.0 /var/www/html/phoenix

3.3 拷贝csd文件

将csd文件拷贝到CM安装节点的/opt/cloudera/csd目录下(如下图)

3.4 CM页面上添加Phoenix Parcel地址

点击配置,添加Phoenix Parcel地址,然后保存更改

点击下载——>分配——>激活

激活完毕后,需要重启hbase服务,部署客户端配置。至此安装集成完毕。

  • 验证并简单使用Phoenix

4.1 启动Phoenix客户端

使用命令:phoenix-sqlline  ZK:2181  (zk地址,填一个即可)

4.2 验证phoenix表操作

建立测试表格:

create table hbase_test ( s1 varchar not null primary key, s2 varchar, s3 varchar, s4 varchar, s5 varchar, s6 varchar, s7 varchar, s8 varchar, s9 varchar, s10 varchar, s11 varchar );

创建表格,通过!tables查看是否生成表格。

插入一条数据,然后进行查询。注意:Phoenix中没有insert语法,用upsert代替。

upsert into hbase_test values('1','testname','testname1','testname2','testname3','testname4','testname5','testname6','testname7','testname8','testname9');  

upsert into hbase_test values('2','testname','testname1','testname2','testname3','testname4','testname5','testname6','testname7','testname8','testname9');

upsert into hbase_test values('3','testname','testname1','testname2','testname3','testname4','testname5','testname6','testname7','testname8','testname9');

按条件查询表格数据:

select * from hbase_test where s1='2';

进入hbase,查看并验证phoenix表格

在phoenix中执行删除,查看hbase验证。

delete from hbase_test where s1='1';

4.3 验证Phoenix bulkload

1.准备一个测试使用的CSV文件用来导入phoenix表中。

本地执行命令也可以导入CSV文件

IP为CSV所在机器(CSV文件必须和表格名称一致,否者会报错)

phoenix-psql  10.18.34.45  /root/barry_test.csv

也可以加入建表语句:

phoenix-psql  10.18.34.45 /root/barry_test.sql /root/barry_test.csv

[root@xxxxxxx ~]# cat test.csv

340111200507061443,鱼言思,0,遂宁,国家机关,13004386766,15900042793,广州银行1,市场三街65号-10-8,0,1

320404198104281395,暨梅爱,1,临沧,服务性工作人员,13707243562,15004903315,广州银行1,太平角六街145号-9-5,0,3

371326195008072277,人才奇,1,黔西南,办事人员和有关人员,13005470170,13401784500,广州银行1,金湖大厦137号-5-5,1,0

621227199610189727,谷岚,0,文山,党群组织,13908308771,13205463874,广州银行1,仰口街21号-6-2,1,3

533324200712132678,聂健飞,1,辽阳,不便分类的其他劳动者,15707542939,15304228690,广州银行1,郭口东街93号-9-3,0,2

632622196202166031,梁子伯,1,宝鸡,国家机关,13404591160,13503123724,广州银行1,逍遥一街35号-14-8,1,4

440883197110032846,黎泽庆,0,宝鸡,服务性工作人员,13802303663,13304292508,广州银行1,南平广场113号-7-8,1,4

341500196506180162,暨芸贞,0,黔西南,办事人员和有关人员,13607672019,13200965831,广州银行1,莱芜二路117号-18-3,1,4

511524198907202926,滕眉,0,南阳,国家机关,15100215934,13406201558,广州银行1,江西支街52号-10-1,0,3

420205198201217829,陶秀,0,泸州,商业工作人员,13904973527,15602017043,广州银行1,城武支大厦126号-18-2,1,0

  1. 将准备好的csv文件put到HDFS,然后通过Phoenix自带的bulkload工具将准备好的csv文件批量导入到Phoenix的表中。

使用命令:

HADOOP_CLASSPATH=/opt/cloudera/parcels/CDH/lib/hbase/hbase-protocol-2.1.0-cdh6.2.0.jar:/opt/cloudera/parcels/CDH/lib/hbase/conf sudo -u yarn hadoop jar /opt/cloudera/parcels/PHOENIX/lib/phoenix/phoenix-5.0.0-cdh6.2.0-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool -t hbase_test -i /hbase/fayson1/hbasetest.csv -z dtla1apps11,dtla1apps12,dtla1apps13:2181

执行完毕后,查询phoenix表格验证。

总结

1.使用Cloudera提供的Phoenix Parcel,可以很方便的安装Phoenix,而且Cloudera会提供正式的官方支持。

2.使用Phoenix可以对HBase进行建表,删除,更新等操作,都是以大家熟悉的SQL方式操作。

3.Phoenix提供了批量导入/导出数据的方式。批量导入只支持csv格式,分隔符为逗号。

4.Phoenix中的SQL操作,可以马上同步到HBase,通过hbase shell检查都成功

5.Phoenix提供的SQL语法较为简陋,没有insert/update,一律用upsert代替。

6.使用upsert插入数据时,只能一条一条插入,没法将全部字段值写到一个“values”后面。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值