我已经成功安装了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]
有什么想法吗?我在这里会想念什么?
谢谢
答案 0 :(得分:1)
问题是我的CMD识别出我已安装的早期Spark提交版本(2.2),即使我正在从spark安装的bin目录中运行命令。