TT Bigdata TT Bigdata
首页
  • 部署专题

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

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

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

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

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

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

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

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

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

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

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

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

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

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

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

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

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

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

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

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

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • 准备阶段

  • 理解packages.gradle

  • 理解bigtop.bom

  • Hadoop编译

  • Flink编译

  • Spark编译

  • Atlas编译

    • version-2.4.0

      • Atlas_2.4.0编译
      • [O]Atlas版本适配改造(一)
      • [O]Atlas版本适配改造(二)
      • [O]Atlas版本适配改造(三)
        • 背景说明
        • 为什么要把 javax.ws.rs-api-2.1.1.jar 排除?
        • 具体调整内容
          • 典型排查建议
      • [B]Atlas版本适配改造(一)
  • Superset编译

  • Zookeeper编译

  • Hbase编译

  • Hive编译

  • Kafka编译

  • Solr编译

  • Tez编译

  • Zeppelin编译

  • 组件编译-Bigtop
  • Atlas编译
  • version-2.4.0
JaneTTR
2025-05-06
目录

[O]Atlas版本适配改造(三)1.0.7+

# 背景说明

提示

在大数据平台集成 Hive 及周边生态组件(如 Atlas、Ranger、Trino 等)时,经常遇到某些 jar 包(比如 javax.ws.rs-api )重复或版本不兼容,导致启动脚本异常、服务启动失败。 其中,import-hive.sh 是 Hive 组件集成脚本中 classpath 依赖过滤的关键节点。**一旦包冲突未及时排除,轻则偶发报错,重则服务无法拉起,影响整个平台的稳定运行。 **

# 为什么要把 javax.ws.rs-api-2.1.1.jar 排除?

  • 多组件集成场景,Atlas、Ranger、Trino、Hive 各自携带 ws.rs 相关 jar,极易因版本不一致引发“类冲突”。
  • classloader 加载机制,一旦发现同名类,容易出现 ClassCastException、NoClassDefFoundError 等玄学问题,定位成本极高。
  • 有的依赖冲突不是首次启动就暴露,只有在访问 REST 相关接口、或插件加载流程中才会暴雷。

注意

排查这类冲突如果靠经验或重装,往往会走很多弯路。直接在 classpath 构建环节把隐患 jar 排除掉,是最直接有效的解决方案。

# 具体调整内容

本轮脚本适配只需在 import-hive.sh 的 HIVE_CP_EXCLUDE_LIST 排除列表中,新增 javax.ws.rs-api-2.1.1.jar,即可避免该 jar 被重复加载。 如下是完整 diff 示例,请对照你实际项目位置修改:

Index: addons/hive-bridge/src/bin/import-hive.sh
===================================================================
diff --git a/addons/hive-bridge/src/bin/import-hive.sh b/addons/hive-bridge/src/bin/import-hive.sh
--- a/addons/hive-bridge/src/bin/import-hive.sh
+++ b/addons/hive-bridge/src/bin/import-hive.sh
@@ -99,7 +99,7 @@
 # Multiple jars in HIVE_CP_EXCLUDE_LIST can be added using "\|" separator
 # Ex: HIVE_CP_EXCLUDE_LIST="jersey-multipart"
 # exclude log4j libs from hive classpath to avoid conflict
-HIVE_CP_EXCLUDE_LIST="log4j-slf4j-impl\|log4j-1.2-api\|log4j-api\|log4j-core\|log4j-web"
+HIVE_CP_EXCLUDE_LIST="log4j-slf4j-impl\|log4j-1.2-api\|log4j-api\|log4j-core\|log4j-web\|javax.ws.rs-api-2.1.1.jar"
 
 for i in $(find "${HIVE_HOME}/lib/" -name  "*.jar" | grep -v "$HIVE_CP_EXCLUDE_LIST"); do
     HIVE_CP="${HIVE_CP}:$i"
1
2
3
4
5
6
7
8
9
10
11
12
13
14

如图,直接追加 ws.rs-api 排除项即可:

image-20250522100831806


# 典型排查建议

排查点 建议操作 典型现象
classpath 冲突 检查 import-hive.sh 生成的 classpath 类已加载、ClassNotFound 等
JAR 包来源追踪 find $HIVE_HOME -name 'ws.rs' 多个 ws.rs-api jar
日志关键词 搜索 ClassCastException、NoClassDefFoundError 等 启动报错,服务未拉起
依赖兼容性 检查依赖组件 jar 版本,做统一梳理 单独启动正常,集成后报错
#Hive#脚本改造#兼容性#Java冲突
[O]Atlas版本适配改造(二)
[B]Atlas版本适配改造(一)

← [O]Atlas版本适配改造(二) [B]Atlas版本适配改造(一)→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hadoop_3.3.4 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式