【发布时间】:2018-07-30 08:01:01
【问题描述】:
我有与本主题相同的情况。 Spark on K8s - getting error: kube mode not support referencing app depenpendcies in local
我从容器运行 Spark。 https://github.com/gettyimages/docker-spark/blob/master/Dockerfile
bin/spark-submit \
--master k8s://https://kubernetes:6443 \
--deploy-mode cluster \
--name spark-pi \
--class org.apache.spark.examples.SparkPi \
--conf spark.kubernetes.namespace=spark \
--conf spark.executor.instances=5 \
--conf spark.kubernetes.container.image=gcr.io/cloud-solutions-images/spark:v2.3.0-gcs \
--conf spark.kubernetes.authenticate.submission.caCertFile=/var/run/secrets/kubernetes.io/serviceaccount/k8.crt \
--conf spark.kubernetes.authenticate.driver.serviceAccountName=spark \
local:///usr/spark-2.3.0/examples/jars/spark-examples_2.11-2.3.0.jar
错误:
Exception in thread "main" org.apache.spark.SparkException: The Kubernetes mode does not yet support referencing application dependencies in the local file system.
at org.apache.spark.deploy.k8s.submit.DriverConfigOrchestrator.getAllConfigurationSteps(DriverConfigOrchestrator.scala:122)
at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication$$anonfun$run$5.apply(KubernetesClientApplication.scala:229)
at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication$$anonfun$run$5.apply(KubernetesClientApplication.scala:227)
at org.apache.spark.util.Utils$.tryWithResource(Utils.scala:2585)
at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.run(KubernetesClientApplication.scala:227)
at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.start(KubernetesClientApplication.scala:192)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:879)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:197)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:227)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:136)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
2018-07-07 05:56:27 INFO ShutdownHookManager:54 - Shutdown hook called
2018-07-07 05:56:27 INFO ShutdownHookManager:54 - Deleting directory /tmp/spark-67367f1a-4ea8-43d6-98e4-23bd6015c6a6
那里可能的解决方案尚未完全证明。
我不知道该怎么办?怎么修? Spark 版本 2.3.0。
我尝试在 spark/jars 中下载新版本的 spark-kubernetes jar。
复制并重命名 spark-kubernetes_2.11-2.3.1.jar -> spark-kubernetes_2.11-2.3.0.jar。
此修复后,Spark 未找到相应的 kubernetes 文件。
【问题讨论】:
-
在行为改变之前将 jar 复制到 hdfs 或 s3 或 http 服务器有什么问题?
-
我有点不懂你。什么意思?
-
我使用 Spark 的背景是在 Hadoop 集群中,必须将 jar 复制到 HDFS 或 S3 中,然后提交运行网络可访问 jar 位置的作业。如果使用 HDFS 或 S3 太不方便,您链接到的错误(?)也可以使用 http URL。基本上用
s3://some-bucket替换local://opt/并使用它而不是等待下一个版本 -
@MatthewLDaniel 谢谢你的回答。我将火花复制到 hdfs,但我得到了同样的错误。 root@ca-spark-deployment-64bbfb4cfb-lnsdh:/usr/spark-2.3.1# hadoop fs -put /usr/spark-2.3.1/examples/jars/spark-examples_2.11-2.3.1.jar / tmp/spark-examples_2.11-2.3.1.jar
-
同样的错误是什么,因为我不希望在给它一个 HDFS jar 路径时出现“本地文件系统”错误?
标签: scala apache-spark kubernetes spark-submit