【问题标题】:Running a Golang apache Beam pipeline on Spark在 Spark 上运行 Golang Apache Beam 管道
【发布时间】:2021-03-05 18:13:57
【问题描述】:

我创建了一个简单的 golang Apache Beam 管道,它与 DirectRunner 配合得很好。我尝试使用以下命令将其部署在 Spark 集群上: ./bin/spark-submit --master=spark://vm:7077 main.go --runner=SparkRunner --job_endpoint=localhost:8099 --artifact_endpoint=localhost:8098 --environment_type=LOOPBACK --output=/tmp/output

在提交申请之前,我使用以下命令运行了job_endpoint

./gradlew :runners:spark:job-server:runShadow -PsparkMasterUrl=spark://localhost:7077

作业在 Spark 上失败并出现此错误: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Exception in thread "main" org.apache.spark.SparkException: Failed to get main class in JAR with error 'null'. Please specify one with --class.

似乎我需要指定类参数,但我不明白错误是什么意思?我可以得到帮助吗?

【问题讨论】:

  • @ibzib 你能帮帮我吗?

标签: apache-spark go apache-beam


【解决方案1】:

spark-submit 是一个 Spark 实用程序,它接受 Java JAR 或 Python 脚本。它不知道如何运行 Go 程序。

我用 Spark runner 的说明更新了 Beam Go quickstart guide。让我知道这是否适合你。

【讨论】:

  • 感谢您的回复。我使用 porposed 指令运行它,但出现以下错误:Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost:7077 Caused by: java.net.ConnectException: Connection refused
  • 将参数 -PsparkMasterUrl=spark://localhost:7077 传递给作业服务器意味着作业服务器将期望 Spark 主服务器正在侦听 localhost:7077。如果您的 Spark master 正在其他地方运行,例如 vm:7077,您需要相应地更改 Spark master url(即 ./gradlew :runners:spark:job-server:runShadow -PsparkMasterUrl=spark://vm:7077)。
  • 我更改了 Spark 主 URL,但现在我收到以下错误:. Application has been killed. Reason: All masters are unresponsive! Giving up
  • 我认为问题是 Beam 作业服务器无法访问 Spark 主服务器。您可以尝试使用spark-submit 在您的集群上运行 Spark java 作业(如 org.apache.spark.examples.SparkPi)吗?如果 Spark java 作业不起作用,则表示您的 Spark 集群设置有问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-24
  • 2021-06-27
  • 1970-01-01
相关资源
最近更新 更多