首页 > 解决方案 > 提交到 Kubernetes 集群内的 Spark Master

问题描述

我有一个仅由一个 VM(minikube 集群)组成的 Kubernetes 集群。

在这个集群上,我有一个 Spark Master 和两个 Worker 正在运行。我已经通过以下方式设置了 Ingress 插件(我的 spark 组件使用默认端口):

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: minikube-ingress
  annotations:
spec:
  rules:
  - host: spark-kubernetes
    http:
      paths:
      - path: /web-ui
        backend:
          serviceName: spark-master
          servicePort: 8080
      - path: /
        backend:
          serviceName: spark-master
          servicePort: 7077

我在我的/etc/hosts

[MINIKUBE_IP] spark-kubernetes

我可以通过以下方式连接到 Master webui http://spark-kubernetes/web-ui在此处输入图像描述

我现在想提交一个存储在本地机器上的 JAR(例如 spark-examples)。我希望这个命令能够工作:

./bin/spark-submit \
    --master spark://spark-kubernetes \
    --deploy-mode cluster \
    --class org.apache.spark.examples.SparkPi \
     ./examples/jars/spark-examples_2.11-2.4.0.jar

但我收到以下错误:

2019-04-04 08:52:36 WARN  SparkSubmit$$anon$2:87 - Failed to load .
java.lang.ClassNotFoundException: 
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.spark.util.Utils$.classForName(Utils.scala:238)
    at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:810)
    at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:167)
    at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:195)
    at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86)
    at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:924)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:933)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

我做错了什么?

笔记 :

标签: apache-sparkkubernetes

解决方案


要使其工作,请使用分发 jar ( --deploy-mode client) 的客户端模式或指定容器映像中 jar 文件的路径。所以而不是使用

./examples/jars/spark-examples_2.11-2.4.0.jar,使用类似的东西:( /opt/spark/examples/jars/spark-examples_2.11-2.4.0.jar取决于您使用的图像)

还要检查我的 K8s spark 运算符:https ://github.com/radanalyticsio/spark-operator :)


推荐阅读