在Spark 2.3.0上使用k8s群集作为spark集群管理器

时间:2018-03-15 02:45:16

标签: apache-spark kubernetes

我试图从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

1 个答案:

答案 0 :(得分:1)

因为我不擅长英语。所以也许有一些错误的语法。但我会尽力回答你的问题。我的解决方法是检查您的$ SPARK_HOME并更改为您的“apache-spark-on-k8s”文件路径。因为spark-submit默认使用“$ {SPARK_HOME}”来运行您的命令。可能你有两个火花环境和我一样的机器。所以命令总是使用你原来的火花。希望这个答案能帮到你。