我试图从spark 2.3.0的二进制版本向k8s集群提交示例作业,提交命令如下所示。但是,我一直遇到错误的主错误。我确定我的k8s群集工作正常。
bin/spark-submit \
--master k8s://https://<k8s-master-ip> \
--deploy-mode cluster \
--name spark-pi \
--class org.apache.spark.examples.SparkPi \
--conf spark.executor.instances=3 \
--conf spark.kubernetes.container.image= <image-built-from-dockerfile> \
--conf spark.kubernetes.driver.pod.name=spark-pi-driver \
local:///opt/examples/jars/spark-examples_2.11-2.3.0.jar
并出现错误
错误:Master必须是yarn或者以spark,mesos,local
开头
这是kubectl cluster-info
Kubernetes master is running at https://192.168.0.10:6443
KubeDNS is running at https://192.168.0.10:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
答案 0 :(得分:1)
因为我不擅长英语。所以也许有一些错误的语法。但我会尽力回答你的问题。我的解决方法是检查您的$ SPARK_HOME并更改为您的“apache-spark-on-k8s”文件路径。因为spark-submit默认使用“$ {SPARK_HOME}”来运行您的命令。可能你有两个火花环境和我一样的机器。所以命令总是使用你原来的火花。希望这个答案能帮到你。