背景:
CDH 集群如何部署一个新的服务
11-15 2471
当我们在搭建CDH的时候,界面上会提示我们选择哪些服务,那么当我们安装完成后,如果想添加之前没有添加的kafka服务,该如何是好呢?下面这张图是点击1之后出现的,其中234分别代表着当前 cloude... 来自: vbaspdelphi
背景:
之前我们都是通过原生的 hbase-java api根据业务需求来查询hbase,每有一个查询需求都需要定制化开发相关的查询代码,较为麻烦,而且在性能优化等方面优化也是需要着重注意;
目前业界使用 Phoenix操作HBase比较普遍,该方案无论是开发效率还是性能提升都能得到不错的保证,在这篇博客中记录下CDH集群如何安装Phoenix服务~
集群信息:
版本:CDH 5.13.0
四台机器:cdh1 - cdh4
Phoenix是一个开源的HBASE SQL层。它不仅可以使用标准的JDBC API替代HBASE client API创建表,插入和查询HBASE,也支持二级索引、事务以及多种SQL层优化。
Phoenix通过以下方式实现了比你自己手写的方式相同或者可能是更好的性能(更不用说可以少写了很多代码):
* 编译你的SQL查询为原生HBase的scan语句
* 检测scan语句最佳的开始和结束的key
* 精心编排你的scan语句让他们并行执行
* 让计算去接近数据通过
* 推送你的WHERE子句的谓词到服务端过滤器处理
* 执行聚合查询通过服务端钩子(称为协同处理器)
除此之外,还做了一些有趣的增强功能来更多地优化性能:
* 实现了二级索引来提升非主键字段查询的性能
* 统计相关数据来提高并行化水平,并帮助选择最佳优化方案
* 跳过扫描过滤器来优化IN,LIKE,OR查询
* 优化主键的盐值来均匀分布写压力
下载地址:http://archive.cloudera.com/cloudera-labs/phoenix/parcels/latest/
我们根据自己操作系统选择版本,我的是CentOS 7.5,故选择el7
下载这三个文件:*.parcel
、*.parcel.sha1
、manifest.json
在集群master节点上找到cdh的主目录,将三个文件放置在parcel包的目录,我的目录是/home/cdh/cloudera/parcel-repo
不知道自己parcel目录的可以去cm界面查看:
查看parcel设置:
在该目录下将老的 manifest.json 改名备份,然后将三个文件移动进来,再将.sha1
后缀的文件改为.sha
后缀!
检查后会发现CLABS_PHOENIX
的parcel出现,然后分配、激活:
然后重启HBase服务更新配置即可!
在服务器shell命令行输入:
tab
phoenix前缀可以看到如下几个py后缀的命令:(说明phoenix服务已安装且将命令添加到环境变量)
启动phoenix-sql
命令行:
phoenix-sqlline.py cdh1:2181
其中cdh1:2181
是zookeeper主机名端口,如果上面执行报错,可以试试这个:
phoenix-sqlline.py cdh1:2181:/hbase
输入!table
查看表信息:
发现一开始就存在4个系统表,在hue查看也如此:
创建测试表 test_phoenix:
create table test_phoenix (id integer not null primary key, cf.name varchar, age integer);
注意: 除了加感叹号的命令外,sql语句必须加分号结尾!
查看表结构:
!describe test_phoenix
可以看到上面建表语句所创建的表名和字段都是大写!要想改为小写,建表语句中就必须将其用双引号括起来!查询时也要加双引号!
OK!本次 CDH - Phoenix安装到此结束!
11-15 2471
当我们在搭建CDH的时候,界面上会提示我们选择哪些服务,那么当我们安装完成后,如果想添加之前没有添加的kafka服务,该如何是好呢?下面这张图是点击1之后出现的,其中234分别代表着当前 cloude... 来自: vbaspdelphi
09-28 948
1、 启动zookeeper 下载zookeeper安装包,解压、安装 bin/zkServer.sh start 2、 修改druid配置文件 (1) conf/dru... 来自: suphieLiang的博客