在 Windows 上使用 bitnami docker compose 运行 Spark 作业时出错

问题描述 投票:0回答:1

我正在尝试使用 Bitnami 官方 docker compose 向 Spark 集群提交作业:

https://github.com/bitnami/containers/blob/main/bitnami/spark/docker-compose.yml

唯一的例外是我添加了端口 7077 的映射,因为我需要使用该端口提交作业。然后,我使用 pyspark 创建最简单的作业,提交它,并且工作程序以退出代码 1 退出,在无限循环中主控生成工作程序。当我进入 Docker Desktop 中的工作容器终端并运行我在控制台中看到的命令时:

"/opt/bitnami/java/bin/java" "-cp" "/opt/bitnami/spark/conf/:/opt/bitnami/spark/jars/*" "-Xmx1024M" "-Dspark.driver.port=49501" "-Djava.net.preferIPv6Addresses=false" "-XX:+IgnoreUnrecognizedVMOptions" "--add-opens=java.base/java.lang=ALL-UNNAMED" "--add-opens=java.base/java.lang.invoke=ALL-UNNAMED" "--add-opens=java.base/java.lang.reflect=ALL-UNNAMED" "--add-opens=java.base/java.io=ALL-UNNAMED" "--add-opens=java.base/java.net=ALL-UNNAMED" "--add-opens=java.base/java.nio=ALL-UNNAMED" "--add-opens=java.base/java.util=ALL-UNNAMED" "--add-opens=java.base/java.util.concurrent=ALL-UNNAMED" "--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED" "--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED" "--add-opens=java.base/sun.nio.ch=ALL-UNNAMED" "--add-opens=java.base/sun.nio.cs=ALL-UNNAMED" "--add-opens=java.base/sun.security.action=ALL-UNNAMED" "--add-opens=java.base/sun.util.calendar=ALL-UNNAMED" "--add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED" "-Djdk.reflect.useDirectMethodHandle=false" "org.apache.spark.executor.CoarseGrainedExecutorBackend" "--driver-url" "spark://[email protected]:49501" "--executor-id" "4" "--hostname" "172.19.0.2" "--cores" "1" "--app-id" "app-20240301170138-0000" "--worker-url" "spark://[email protected]:35423" "--resourceProfileId" "0"

它失败了:

Using Spark's default log4j profile: org/apache/spark/log4j2-defaults.properties
24/03/01 17:32:25 INFO CoarseGrainedExecutorBackend: Started daemon with process name: 121@5cb5b7111be3
24/03/01 17:32:25 INFO SignalUtils: Registering signal handler for TERM
24/03/01 17:32:25 INFO SignalUtils: Registering signal handler for HUP
24/03/01 17:32:25 INFO SignalUtils: Registering signal handler for INT
24/03/01 17:32:25 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "main" org.apache.hadoop.security.KerberosAuthException: failure to login: javax.security.auth.login.LoginException: java.lang.NullPointerException: invalid null input: name

我用 Google 搜索了这个错误,当 docker 使用没有名称的用户 ID 运行时,这似乎是一个问题。确实whoami失败了。这可能是原因吗?有什么建议如何让它发挥作用吗?主机操作系统是 Windows 11。

windows docker apache-spark docker-compose bitnami
1个回答
0
投票

找到解决方案。在 Docker 文件中,注释掉行

USER 1001

这将以root身份运行spark,这可能对实际使用中的安全性不利,但出于开发目的是可以的。

© www.soinside.com 2019 - 2024. All rights reserved.