TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装教程
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装教程
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)
  • Phoenix-JDK17下编译的二进制包适用于Datagrip

    • Q: 高版本 DataGrip 无法使用 Phoenix 驱动
    • A: Phoenix - JDK17 制作&下载
      • 一、为什么要做 JDK17 适配
      • 二、路径选择总览
      • 三、方式一:直接下载使用(开箱即用)
        • 1、DataGrip 驱动替换步骤
      • 四、方式二:源码编译(可控可追溯)
        • 1、环境准备
        • 2、构建命令(与 Bigtop/HBase 对齐)
        • 3、编译产物位置
  • 魔改分享
  • Phoenix-JDK17下编译的二进制包适用于Datagrip
JaneTTR
2025-09-07
目录

A: Phoenix - JDK17 制作&下载

# 一、为什么要做 JDK17 适配

背景

DataGrip 等 IDE 默认使用较高版本的 JDK 运行时;而部分 Phoenix 版本仍依赖旧 JDK 的内部 API。
因此在 JDK17 上需要兼容性构建或替换驱动,否则连接 HBase(通过 ZK 的 Thick 模式)会报错。

常见报错示例(复现于高版本 JDK 的 IDE 环境):

[08004][103] ERROR 103 (08004): Unable to establish connection. 'void sun.misc.Unsafe.putLong(java.lang.Object, int, long)'.
1

# 二、路径选择总览

路径 场景 成本 灵活性 产物形态
方式一:直接下载使用 想快速连通、本地验证 最低 中等(取决于提供版本) 已编译的 phoenix-client*.jar
方式二:源码编译 企业/生产需要可追溯 中等 最高(可调依赖与补丁) 自行产出的兼容 jar

版本提示

构建参数建议与目标集群保持一致(HBase/Hadoop/Protobuf 版本),避免运行时 Class/ABI 冲突。

# 三、方式一:直接下载使用(开箱即用)

e6517c0b2f16439d337cc6439c3b0194

下载地址

Baidu 网盘: https://pan.baidu.com/s/13nGD7gxudpwWiMiE-4x53g?pwd=5xf2 (opens new window)

注意

重要的事情说三遍——解压密码在群公告

重要的事情说三遍——解压密码在群公告

重要的事情说三遍——解压密码在群公告

# 1、DataGrip 驱动替换步骤

  1. 打开 DataGrip → 数据源 → Phoenix → 驱动文件;
  2. 移除原有 phoenix* jar;
  3. 添加下载的 phoenix-client/phoenix-thin-client 兼容包;
  4. 填写 ZK 连接串与 Schema,点击 Test Connection。

检查点

  • JDK 运行时为 IDE 内置;不需外部切换系统 JDK。
  • 若仍有冲突,把同名老版本 jar 完全移除,避免“同类不同版本”并存。

# 四、方式二:源码编译(可控可追溯)

# 1、环境准备

  • JDK 17(java -version 确认)
  • Maven 3.6+(或更高)
  • Git
git clone https://github.com/apache/phoenix.git
cd phoenix
1
2

# 2、构建命令(与 Bigtop/HBase 对齐)

mvn -T1C clean install -DskipTests \
  -Dhbase.profile=2.4 \
  -Dhbase.version=2.4.13 \
  -Dhadoop.version=3.3.4 \
  -Dprotobuf.version=2.5.0 \
  -Dprotoc-jar.protocVersion=2.5.0
1
2
3
4
5
6

参数含义

  • -Dhbase.profile、-Dhbase.version:与目标集群一致;
  • -Dhadoop.version:匹配集群 Hadoop;
  • -Dprotobuf.*:老版本 Phoenix 仍依赖 Proto 2.5.0 生态,维持兼容。

# 3、编译产物位置

构建约 15~20 分钟(视网络/CPU 而定),完成后在:

phoenix-assembly/target/
1

可见可分发的 phoenix-client 等 jar:

c783a2e0824f60013304b18ce6b684f9

#Phoenix#HBase#DataGrip#驱动适配#源码编译
Q: 高版本 DataGrip 无法使用 Phoenix 驱动

← Q: 高版本 DataGrip 无法使用 Phoenix 驱动

最近更新
01
[/metrics/metadata] — 元数据查询和使用 GET
09-12
02
[/metrics/metadata] — 请求完整链路解读
09-12
03
[/metrics/metadata] — 缓存数据装载 Phoenix
09-12
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式