什么是SQuirrel?
SQuirreL SQL Client是一个开源免费软件, 可以通过jdbc对多种数据库进行可视化的管理,查询等。本文主要介绍如何通过SQuirrel连接Phoenix并设置Phoenix参数等。
安装SQuirrel访问Phoenix
- 下载最新的SQuirrel客户端
本文下载最新版本的3.8.1版本,下载后为squirrel_sql-3.8.1-standard.jar的可执行包。(环境中需要安装并配置好jdk)
- 安装SQuirreL
双击下载好的可执行jar包,一直点击下一步即可。
使用重客户端访问Phoenix4.x
- 在云Hbase官网下载最新版的phoneix,
使用不同版本云HBase应下载对应的phoenix包,下载完成后将Phoenix安装包解压,阿里云Phoenix4.x版本下载连接:
https://help.aliyun.com/document_detail/53600.html?spm=a2c4g.11174283.6.639.7f6e3c2e5h59h9
wget http://hbase-opt.oss-cn-hangzhou.aliyuncs.com/ali-phoenix-4.12.0-AliHBase-1.1-0.7.tar.gz
将对应版本的phoenix客户端包拷贝至SQuirreL安装路径下的lib文件夹,注意只需要拷贝ali-phoenix-4.12.0-AliHBase-1.1-0.*-client.jar重客户端集成包即可。
- 启动SQuirreL,可以通过Windows->View SQuirrel Logs查看运行日志。
- 设置Phoenix JDBC DRIVE。
打开SQuirrel客户端后,点击左侧Drivers进行设置phoenix驱动。
点击+号,新增一个驱动,Name项根据自己需要填写,Website URL可以省略,也可以填写phoenix jdbc驱动串模版:jdbc:phoenix:h1,h2,h3,在Java Class Path栏找到拷贝过来的Phoenix客户端jar包,点击List Drivers,会自动把Phoenix jdbc的驱动类显示在Class Name栏。此时点击OK,Phoenix的驱动就创建完成了。
4.配置Phoenix链接。
在SQuirreL左侧点击Aliases -> 创建一个链接。
Name项根据自己需要填写,Username和Password是访问数据库的账户名和密码(此示例中链接hbase不需要用户和密码,所以这两项为空)。Driver在下拉栏中选择第一步中配置好的Phoenix驱动,URL则需要修改为实际环境中Phoenix连接串,URL模版为jdbc:phoenix:h1,h2,h3,实际使用时需要将h1,h2,h3修改为云HBase环境的zookeeper连接地址。
配置完成后,点击OK完成链接创建,然后connect就可以连接Phoenix了。
使用轻客户端访问Phoenix5.x
阿里云Phoenix5.x版本开始采用轻客户端架构,使用SQuirreL同样可以通过轻客户端连接QueryServer进行访问phoenix,具体操作步骤与重客户端类似,只需要将所要加载的驱动包和Driver类名及URL替换为轻客户端模式即可,具体操作如下:
-
下载阿里云Phoenix5.x客户端压缩包
wget https://hbase-opt.oss-cn-hangzhou.aliyuncs.com/ali-phoenix-5.1.0-HBase-2.0.0.1.tar.gz
解压后获取轻客户端驱动包:ali-phoenix-5.1.0-HBase-*-shaded-thin-client.jar
- 加载驱动包
将驱动包拷贝至SQuirreL的安装lib目录下,或者在Drivers->add driver->extra class path中将驱动包add进来。 - 配置Driver
轻客户端的Driver class为: org.apache.phoenix.queryserver.client.Driver
可以在class name中输入,也可以通过list driver进行选择。
URL格式为:jdbc:phoenix:thin:url=http://xxx:8765;serialization=PROTOBUF
其中http://xxx:8765 为queryserver链接地址,可以在云HBase SQL服务界面获取。 - 创建连接
在Aliases中添加新的Alias,选择我们上一步创建的Phoenix Driver,进行连接。
注意连接时保证网络是联通的,将本地IP加入HBase实例的白名单,客户端和实例在同一VPC或者使用公网QueryServer地址进行测试。
在SQuirrel中如何配置Phoenix参数
Phoenix客户端参数可以通过hbase-site.xm文件进行配置,我们只需要将需要配置项填在此文件中,并放置在SQuirrel启动的classpath中就能生效。
以配置phoenix.force.index为例:
在未对phoenix.force.index进行设置时,默认值为true。那么在查询中查询非索引列时会报错。
下载phoenix安装包时,在bin目录下放有hbase-site.xml配置文件,将phoenix.force.index=false配置项添加在该配置文件中。
在SQuirreL安装目录的lib文件夹下新建conf文件夹,并将上一步的hbase-site.xml拷贝至conf文件夹,关闭并重启SQuirreL客户端。
查询非索引列条件,参数生效,查询成功。
注意:如果重启后,参数仍然没有生效,请确认配置文件是否已经正确加载到ClassPath下,可以在Drivers中找到Pheonix驱动,右键选择Modify Driver,查找Java Class path下是否已经包含了conf文件夹。