Spark AuthZ 插件

构建

师成师成· 更新于 2026-09-29· 阅读 6 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

使用 Apache Maven 构建

Kyuubi Spark AuthZ 插件使用 Apache Maven 构建。要构建该项目,请 cd 进入 kyuubi 项目的根目录,然后运行:

build/mvn clean package -pl :kyuubi-spark-authz_2.12 -DskipTests

过一会儿,如果一切顺利,你最终会得到两部分插件产物:

  • 主插件 jar,位于 ./extensions/spark/kyuubi-spark-authz/target/kyuubi-spark-authz_${scala.binary.version}-${project.version}.jar
  • 所需的最少传递依赖,位于 ./extensions/spark/kyuubi-spark-authz/target/scala-${scala.binary.version}/jars

使用 Apache Maven 构建 shaded jar

Apache Kyuubi 还为 Spark AuthZ 插件提供了 shaded jar,你可以仅凭一个 shaded jar 运行 AuthZ 插件,而无需额外的依赖 jar。要构建它,请 cd 到 kyuubi 项目根目录并运行:

build/mvn clean package -pl :kyuubi-spark-authz-shaded_2.12 -DskipTests -am

稍后,如果一切顺利,你最终会得到该插件:

  • 经过 shading 处理的 AuthZ 插件 jar 包,位于 ./extensions/spark/kyuubi-spark-authz-shaded/target/kyuubi-spark-authz-shaded_${scala.binary.version}-${project.version}.jar

针对不同 Apache Spark 版本进行构建

Maven 选项 spark.version 用于指定要编译的 Spark 版本,并生成相应的传递依赖。默认情况下,始终使用 kyuubi 项目主 pom 文件中定义的最新 spark.version 进行构建。有时它可能与其他 Spark 发行版不兼容,此时你可能需要自行针对所使用的 Spark 版本来构建该插件。

例如,

build/mvn clean package -pl :kyuubi-spark-authz_2.12 -DskipTests -Dspark.version=3.0.2

可用的 spark.version 如下表所示。

Spark 版本是否支持备注
master√-
3.3.x√-
3.2.x√-
3.1.x√-
3.0.xx自 v1.9.0 起已 EOL
2.4.x 及更早版本×PR 2367 用于跟踪我们如何配合 scala 2.11 处理更早期的版本

目前支持使用 Scala 2.12 发布的 Spark。

针对不同 Apache Ranger 版本构建

Maven 选项 ranger.version 用于指定要编译的 Ranger 版本,并生成相应的传递依赖。默认情况下,始终使用 kyuubi 项目主 pom 文件中定义的最新 ranger.version 进行构建。有时它可能与其他 Ranger Admin 不兼容,此时你可能需要自行构建插件,并以所连接的 Ranger Admin 版本为目标。

build/mvn clean package -pl :kyuubi-spark-authz_2.12 -DskipTests -Dranger.version=0.7.0

可用的 ranger.version 如下表所示。

Ranger 版本是否支持备注
2.4.x√-
2.3.x√-
2.2.x√-
2.1.x√-
2.0.x√-
1.2.x√-
1.1.x√-
1.0.x√-
0.7.x√-
0.6.xXKYUUBI-4672 报告了未解决的失败问题。

目前,所有 Ranger 版本均已支持。

使用 ScalaTest Maven 插件进行测试

如果在上述命令中省略 -DskipTests 选项,你还将运行所有的单元测试。

build/mvn clean package -pl :kyuubi-spark-authz_2.12

如果出现任何 bug 并且你想自行调试该插件,可以配置 -DdebugForkedProcess=true 和 -DdebuggerPort=5005(可选)。

build/mvn clean package -pl :kyuubi-spark-authz_2.12 -DdebugForkedProcess=true

测试将在启动时暂停,并等待远程调试器连接到配置的端口。

如果你能将该问题或修复方案分享给 Kyuubi 社区,我们将不胜感激。

评论

登录后参与评论

正在加载评论…