SQuirreL连接Phoenix

简介: 什么是SQuirrel? SQuirreL SQL Client是一个开源免费软件, 可以通过jdbc对多种数据库进行可视化的管理,查询等。本文主要介绍如何通过SQuirrel连接Phoenix并设置Phoenix参数等。

什么是SQuirrel?

SQuirreL SQL Client是一个开源免费软件, 可以通过jdbc对多种数据库进行可视化的管理,查询等。本文主要介绍如何通过SQuirrel连接Phoenix并设置Phoenix参数等。

安装SQuirrel访问Phoenix

  1. 下载最新的SQuirrel客户端
    image

本文下载最新版本的3.8.1版本,下载后为squirrel_sql-3.8.1-standard.jar的可执行包。(环境中需要安装并配置好jdk)

  1. 安装SQuirreL
    双击下载好的可执行jar包,一直点击下一步即可。

image

使用重客户端访问Phoenix4.x

  1. 在云Hbase官网下载最新版的phoneix,
    image

使用不同版本云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重客户端集成包即可。

  1. 启动SQuirreL,可以通过Windows->View SQuirrel Logs查看运行日志。
    image
  2. 设置Phoenix JDBC DRIVE。
    打开SQuirrel客户端后,点击左侧Drivers进行设置phoenix驱动。

image
点击+号,新增一个驱动,Name项根据自己需要填写,Website URL可以省略,也可以填写phoenix jdbc驱动串模版:jdbc:phoenix:h1,h2,h3,在Java Class Path栏找到拷贝过来的Phoenix客户端jar包,点击List Drivers,会自动把Phoenix jdbc的驱动类显示在Class Name栏。此时点击OK,Phoenix的驱动就创建完成了。
image

4.配置Phoenix链接。
在SQuirreL左侧点击Aliases -> 创建一个链接。
Name项根据自己需要填写,Username和Password是访问数据库的账户名和密码(此示例中链接hbase不需要用户和密码,所以这两项为空)。Driver在下拉栏中选择第一步中配置好的Phoenix驱动,URL则需要修改为实际环境中Phoenix连接串,URL模版为jdbc:phoenix:h1,h2,h3,实际使用时需要将h1,h2,h3修改为云HBase环境的zookeeper连接地址。
image

配置完成后,点击OK完成链接创建,然后connect就可以连接Phoenix了。
image

使用轻客户端访问Phoenix5.x

阿里云Phoenix5.x版本开始采用轻客户端架构,使用SQuirreL同样可以通过轻客户端连接QueryServer进行访问phoenix,具体操作步骤与重客户端类似,只需要将所要加载的驱动包和Driver类名及URL替换为轻客户端模式即可,具体操作如下:

  1. 下载阿里云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

  2. 加载驱动包
    将驱动包拷贝至SQuirreL的安装lib目录下,或者在Drivers->add driver->extra class path中将驱动包add进来。
    image
  3. 配置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服务界面获取。
    image
  4. 创建连接
    在Aliases中添加新的Alias,选择我们上一步创建的Phoenix Driver,进行连接。
    注意连接时保证网络是联通的,将本地IP加入HBase实例的白名单,客户端和实例在同一VPC或者使用公网QueryServer地址进行测试。

在SQuirrel中如何配置Phoenix参数

Phoenix客户端参数可以通过hbase-site.xm文件进行配置,我们只需要将需要配置项填在此文件中,并放置在SQuirrel启动的classpath中就能生效。

以配置phoenix.force.index为例:

在未对phoenix.force.index进行设置时,默认值为true。那么在查询中查询非索引列时会报错。
image

下载phoenix安装包时,在bin目录下放有hbase-site.xml配置文件,将phoenix.force.index=false配置项添加在该配置文件中。
image

在SQuirreL安装目录的lib文件夹下新建conf文件夹,并将上一步的hbase-site.xml拷贝至conf文件夹,关闭并重启SQuirreL客户端。
查询非索引列条件,参数生效,查询成功。
image

注意:如果重启后,参数仍然没有生效,请确认配置文件是否已经正确加载到ClassPath下,可以在Drivers中找到Pheonix驱动,右键选择Modify Driver,查找Java Class path下是否已经包含了conf文件夹。

image
image

目录
相关文章
|
6月前
|
人工智能 自然语言处理 语音技术
2025年国内主流智能客服系统:技术架构与能力深度解析
本文分析了2025年国内智能客服市场的技术格局与系统能力,从核心技术栈(NLP、知识图谱、语音技术等)到市场梯队划分,深入探讨了第一梯队的综合型平台和第二梯队的场景化服务。以合力亿捷为例,剖析其端到端AI技术栈、大模型融合、全渠道融合及运营优化能力,并对比国际顶尖通用AI在语义理解、多模态交互和自主学习方面的启示。最后为企业提供选择智能客服系统的五大考量因素,强调技术与业务场景的深度融合,助力企业实现更高效、智能的客户服务体验。
1471 2
|
9月前
|
存储 人工智能 人机交互
Multi-Agent Orchestrator:亚马逊开源AI智能体自动协作黑科技!重构人机交互逻辑,1秒精准分配任务
Multi-Agent Orchestrator 是亚马逊开源的多智能体框架,能够动态分配代理、维护上下文、支持多种代理类型,适用于客户服务、智能交通、物流配送等复杂场景。
411 9
Multi-Agent Orchestrator:亚马逊开源AI智能体自动协作黑科技!重构人机交互逻辑,1秒精准分配任务
|
存储 数据库连接 Nacos
在Nacos中,db怎么加密?
在Nacos中,db怎么加密?
522 1
|
存储 数据库
构建树工具类
在系统设计中,有许多地方都需要用到树型结构,所以建立一个构建树的工具类,封装关于树操作的一些通用方法,方便使用。
350 1
|
数据采集 搜索推荐 机器人
|
数据采集 安全 算法
Zigbee协议栈介绍|学习笔记
快速学习Zigbee协议栈介绍
Zigbee协议栈介绍|学习笔记
|
开发工具 Android开发
安装Android Studio的最新最简最详细安装教程
安装Android Studio的最新最简最详细安装教程
940 0
安装Android Studio的最新最简最详细安装教程
|
开发者
最简单方法创建 README
最简单方法创建 README
1048 0
最简单方法创建 README
|
机器学习/深度学习 存储 搜索推荐
一文入门推荐系统——推荐系统实践读书笔记(上)
一文入门推荐系统——推荐系统实践读书笔记(上)
|
索引
Elastic: 同一条索引,使用GET _cat/indices?v与GET index/_count查询出来的文档数为什么不同?
首先我们来看官方文档中对于_cat/indices的解释: 原文: These metrics are retrieved directly from Lucene, which Elasticsearch uses internally to power indexing and search. As a result, all document counts include hidden nested documents.
419 0
Elastic: 同一条索引,使用GET _cat/indices?v与GET index/_count查询出来的文档数为什么不同?