构建
使用 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.x | x | 自 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.x | X | KYUUBI-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 社区,我们将不胜感激。
评论
登录后参与评论
KnowForge