kubernetes集群上的spark-submit不能识别k8s --master属性

时间:2019-03-04 12:34:24

标签: apache-spark kubernetes

我已经成功安装了Kubernetes集群,可以通过以下方式进行验证:

C:\windows\system32>kubectl cluster-info
        Kubernetes master is running at https://<ip>:<port>
        KubeDNS is running at https://<ip>:<port>/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

然后,我尝试使用从https://spark.apache.org/downloads.html下载的Spark运行SparkPi。

spark-submit --master k8s://https://192.168.99.100:8443 --deploy-mode cluster --name spark-pi --class org.apache.spark.examples.SparkPi --conf spark.executor.instances=2 --conf spark.kubernetes.container.image=gettyimages/spark c:\users\<username>\Desktop\spark-2.4.0-bin-hadoop2.7\examples\jars\spark-examples_2.11-2.4.0.jar

我收到此错误:

Error: Master must either be yarn or start with spark, mesos, local
Run with --help for usage help or --verbose for debug output

我尝试了2.4.0和2.3.3版本。我也尝试过

spark-submit --help

查看有关-master 属性的信息。这就是我得到的:

--master MASTER_URL         spark://host:port, mesos://host:port, yarn, or local.

根据有关在Kubernetes中运行Spark工作负载的文档[https://spark.apache.org/docs/latest/running-on-kubernetes.html],spark-submit甚至都无法识别master的k8s值。 [包括在可能的Spark管理员中:https://spark.apache.org/docs/latest/submitting-applications.html#master-urls]

有什么想法吗?我在这里会想念什么?

谢谢

1 个答案:

答案 0 :(得分:1)

问题是我的CMD识别出我已安装的早期Spark提交版本(2.2),即使我正在从spark安装的bin目录中运行命令。