HBase SQL服务基于Phoenix 5.x为HBase 2.x提供SQL能力,通过轻客户端即可快速连接访问。SQL服务挂载了SLB负载均衡,通过round robin模式将请求均匀分发在每个query server节点。轻客户端还支持Python、Go等多语言访问。
使用步骤
- 开通HBase SQL服务。
HBase实例开通后,进入控制台管理界面,在左侧菜单栏可以单击HBase SQL服务项>立即开通,即可开通HBase SQL服务。
开通HBase SQL服务时需要重启HBase实例,并占用部分内存资源,请在业务低峰期进行开通,开通过程需要十分钟左右,节点数越多时间会相对越长。
- SQL服务管理。
服务开通后,在HBase SQL页面还可以对SQL服务进行日常管理,包括SQL服务小版本升级,SQL服务重启,开通公网访问操作。说明 SQL服务连接地址分为负载均衡连接和单点连接,分别在不同的场景中使用。
- 负载均衡连接:使用SLB进行负载均衡,对于高并发读写请求能够均发至后端的多个QueryServer中处理,提升集群的整体吞吐能力。
- 单点连接:使用大表创建索引或使用UPSERT…SELECT导数据以及复杂查询等单点请求场景,由于请求时间过长使用负载均衡连接会出现连接超时断掉情况,需使用单点QueryServer连接。
- 准备客户端。
创建与HBase处在同一个网络内ECS实例,建议为同一个VPC内的ECS实例。
- 执行如下命令查看这台ECS的内网IP。
hostname -i
- 把上一步骤中查询出的ECS内网IP加到HBase的网络白名单中,请参见设置白名单。
- 执行如下命令查看这台ECS的内网IP。
- 使用客户端访问HBase SQL服务。
- 在准备好的ECS客户机上下载最新版本的HBase SQL客户端。
wget https://hbase-opt.oss-cn-hangzhou.aliyuncs.com/ali-phoenix-5.2.4.1-HBase-2.x.tar.gz
- 解压客户端压缩包。
tar zxvf ali-phoenix-5.2.4.1-HBase-2.x.tar.gz
- 启动轻客户端工具。
bin/sqlline-thin.py http://xxx-proxy-phoenix.hbase.rds.aliyuncs.com:8765
- 在准备好的ECS客户机上下载最新版本的HBase SQL客户端。
- 执行如下命令验证配置是否成功。
如果看到一个表的列表,那么就说明已配置成功。可以开始更加深入的使用了。!tables
说明 首次连接会创建meta表,需等待一段时间。 - 执行如下命令退出Phoenix。
!quit
对比
- Phoenix-5.x对于时区的处理逻辑做了统一优化,请参见云栖文章:Phoenix关于时区的处理方式说明。
- Phoenix-5.x使用轻客户端模式,而Phonix-4.x默认提供重客户端模式。轻客户端和重客户端模式请参见云栖文章:Phoenix客户端优化之由重到轻。