如何将 Spark 应用程序 jar 文件部署到 Kubernetes 集群?

Pas*_*cal 5 apache-spark kubernetes

我目前正在尝试在 IBM Cloud 上运行的 Kubernetes 集群上部署 spark 示例 jar。

如果我尝试按照这些说明在 kubernetes 集群上部署 spark,我将无法启动 Spark Pi,因为我总是收到错误消息:

该系统找不到指定的文件

输入代码后

bin/spark-submit \
    --master k8s://<url of my kubernetes cluster> \
    --deploy-mode cluster \
    --name spark-pi \
    --class org.apache.spark.examples.SparkPi \
    --conf spark.executor.instances=5 \
    --conf spark.kubernetes.container.image=<spark-image> \
    local:///examples/jars/spark-examples_2.11-2.3.0.jar
Run Code Online (Sandbox Code Playgroud)

我在目录中的spark-examples_2.11-2.3.0.jar文件所在的正确examples/jars目录中。

VAS*_*VAS 5

确保your.jar文件存在于容器映像中。

说明告诉它应该在那里:

最后,请注意,在上面的示例中,我们使用 local:// 方案指定了一个具有特定 URI 的 jar。此 URI 是Docker 映像中已存在的示例 jar 的位置。

换句话说,local://scheme 从容器镜像中移除,local:///examples/jars/spark-examples_2.11-2.3.0.jar并且路径/examples/jars/spark-examples_2.11-2.3.0.jar有望在容器镜像中可用。