TT Bigdata TT Bigdata
首页
GitHub (opens new window)
JaneTTR

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • Ambari 安装

  • 组件安装

    • 安装指导
    • 魔改分享
      • Phoenix-JDK17下编译的二进制包适用于Datagrip

        • Q: 高版本 DataGrip 无法使用 Phoenix 驱动
        • A: Phoenix - JDK17 制作&下载
          • 一、为什么要做 JDK17 适配
          • 二、路径选择总览
          • 三、方式一:直接下载使用(开箱即用)
            • 1、DataGrip 驱动替换步骤
          • 四、方式二:源码编译(可控可追溯)
            • 1、环境准备
            • 2、构建命令(与 Bigtop/HBase 对齐)
            • 3、编译产物位置
    • 最小化安装(简单)

    • 进阶安装技巧(需开启Kerberos)

    • 高可用安装(有难度)

  • Kerberos 旧版专题

  • Ranger 旧版专题

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

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#Bigtop#HBase#源码编译
Q: 高版本 DataGrip 无法使用 Phoenix 驱动
Zookeeper 安装

← Q: 高版本 DataGrip 无法使用 Phoenix 驱动 Zookeeper 安装→

最近更新
01
当前版本 2026/08
08-29
02
把 Ambari Server HA 稳稳地跑起来
08-17
03
从一次启用操作追到主备就绪
08-17
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式