更新时间:2025-12-10 GMT+08:00
分享

配置Spark JDBC加载第三方Jar包

操作场景

用户使用JDBC执行Spark作业时,有可能会使用到非MRS集群默认集成的第三方Jar包,此时JDBC作业日志会报“ClassNotFoundException”错误。

约束与限制

本章节仅适用于MRS 3.6.0-LTS及之后版本。

前提条件

  • 同一个Spark服务或者Spark实例中,只支持配置同一个版本的Jar包。
  • 不允许在目录下存放其他公用开源类非自定义的Jar文件,包含但不仅限于org.apache.*,com.google.*,javax.*。

操作步骤

  1. 登录FusionInsight Manager系统。

    详细操作请参考访问集群Manager

  2. 选择“集群 > 服务 > Spark > 实例”,记录所有的JDBCServer角色的IP地址。
  3. 依次登录JDBCServer角色所在的节点,将用户依赖的第三方Jar包文件上传至JDBCServer角色所在节点的“${BIGDATA_HOME}/third_lib/Spark${idx}”目录中。

    • ${idx}代表多实例或多服务的序号标识。
    • Spark多实例分别对应1-4。
    • Spark多服务对应-1,-2,-3 等等。

  4. 生效规则:

    • 多租户模式:无需重启JDBCServer角色实例。此模式下会依据Driver负载,增加或减少JDBC应用的数量。对于新启动的JDBC应用,立即生效。对于已启动的JDBC应用,不生效,需手动结束并重新启动新的JDBC应用。
    • 多实例模式:需要在Manager页面,重启JDBCServer角色实例生效。

相关文档