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 驱动
      • 一、问题复现
      • 二、常见尝试与局限
      • 三、解决方案:自编译 Phoenix 驱动
      • 四、成功验证
    • A: Phoenix - JDK17 制作&下载
  • 魔改分享
  • Phoenix-JDK17下编译的二进制包适用于Datagrip
JaneTTR
2025-09-07
目录

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

# 一、问题复现

在 DataGrip 中配置 Phoenix 数据源,通过 Thick 客户端 方式连接 HBase(Zookeeper 集群地址),往往会出现如下报错:

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

对应界面如下图所示:

image-20250906013005715

关键原因

这是 Phoenix 驱动与高版本 JDK 不兼容 导致的。 DataGrip 自带运行时 JDK 较新,而 Phoenix 驱动仍在依赖过时的 sun.misc.Unsafe 方法。

# 二、常见尝试与局限

  1. 更换 DataGrip 的运行时 JDK 在理论上,切换到 JDK8 可以解决兼容性。但实际情况是:

    • DataGrip 自身有 最低版本限制,无法回退到过低 JDK;
    • 即便切换,重启可能直接导致 DataGrip 启动失败。

    image-20250908094417937

    不推荐

    已经过实际验证,此路基本行不通。建议避免继续在 JDK 切换上浪费时间。

  2. 替换 Phoenix 驱动 jar 这是目前最直接、稳定的方式。通过重新编译 Phoenix 源码,生成与高版本 JDK 兼容的驱动 jar 包。

# 三、解决方案:自编译 Phoenix 驱动

为了避免大家重复踩坑,我们已经将 Phoenix 源码重新编译,并提供了兼容版本 jar 包。

👉 编译方法与下载说明可参考另一篇文章: Phoenix - JDK17 制作&下载

你可以选择:

  • 方式一:自行按照文章说明编译;
  • 方式二:直接使用我们提供的兼容 jar。

完成后,只需在 DataGrip 中手动替换 Phoenix 驱动 jar 即可。

# 四、成功验证

替换后,重新配置 Phoenix 数据源,连接即可正常建立。如下图所示:

ca48cecfffc6abf37d419cd478e64e63

图 1:添加数据源驱动

image-20250906013322770

图 2:连接测试成功,状态显示正常

3d9bfc204778890c4e7c68d2bc1b8abf

图 3:表结构与数据浏览界面正常显示,兼容性问题彻底解决

总结

  • 症状:sun.misc.Unsafe.putLong 报错
  • 根因:Phoenix 驱动与高版本 JDK 不兼容
  • 解法:替换为重新编译的 Phoenix 驱动 jar
#bigtop-select#debian#Ubuntu#编译适配#源码分析
A: Phoenix - JDK17 制作&下载

A: Phoenix - JDK17 制作&下载→

最近更新
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
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式