spark docker-image-tool找不到泊坞窗映像

时间:2020-04-08 07:19:54

标签: apache-spark kubernetes

我在kuberenets上部署了火花 helm install microsoft/spark --version 1.0.0(也尝试了比南图表,结果相同)

然后,如https://spark.apache.org/docs/latest/running-on-kubernetes.html#submitting-applications-to-kubernetes

所述

我转到$ SPARK_HOME / bin

docker-image-tool.sh -r -t my-tag build 

此返回 找不到docker映像。此脚本必须从可运行的Apache Spark发行版中运行。

,但是所有spark可运行对象都在此目录中。

bash-4.4# cd $SPARK_HOME/bin
bash-4.4# ls
beeline               find-spark-home.cmd   pyspark.cmd           spark-class           spark-shell.cmd       spark-sql2.cmd        sparkR
beeline.cmd           load-spark-env.cmd    pyspark2.cmd          spark-class.cmd       spark-shell2.cmd      spark-submit          sparkR.cmd
docker-image-tool.sh  load-spark-env.sh     run-example           spark-class2.cmd      spark-sql             spark-submit.cmd      sparkR2.cmd
find-spark-home       pyspark               run-example.cmd       spark-shell           spark-sql.cmd         spark-submit2.cmd

任何建议我在做什么错? 我没有使用Spark进行其他任何配置,我是否缺少某些东西?我应该自己安装docker还是任何其他工具?

1 个答案:

答案 0 :(得分:1)

您在这里混在一起。

运行helm install microsoft/spark --version 1.0.0时,您将在Kubernetes中部署具有所有必备组件的Spark。头盔正在为您做所有的辛苦工作。运行此命令后,即可使用Spark。

在使用Helm部署Spark之后,您尝试从已经在Kubernetes上运行的Spark Pod内部部署Spark。

这是两个不同的东西,不应该混在一起。 This指南介绍了如何在Kubernetes上手动运行Spark,但幸运的是,可以像以前一样使用Helm完成此操作。

运行helm install myspark microsoft/spark --version 1.0.0时,输出告诉您如何访问spark webui:

NAME: myspark
LAST DEPLOYED: Wed Apr  8 08:01:39 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
1. Get the Spark URL to visit by running these commands in the same shell:

  NOTE: It may take a few minutes for the LoadBalancer IP to be available.
  You can watch the status of by running 'kubectl get svc --namespace default -w myspark-webui'

  export SPARK_SERVICE_IP=$(kubectl get svc --namespace default myspark-webui -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  echo http://$SPARK_SERVICE_IP:8080

2. Get the Zeppelin URL to visit by running these commands in the same shell:

  NOTE: It may take a few minutes for the LoadBalancer IP to be available.
  You can watch the status of by running 'kubectl get svc --namespace default -w myspark-zeppelin'

  export ZEPPELIN_SERVICE_IP=$(kubectl get svc --namespace default myspark-zeppelin -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  echo http://$ZEPPELIN_SERVICE_IP:8080

让我们检查一下:

$ export SPARK_SERVICE_IP=$(kubectl get svc --namespace default myspark-webui -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
$ echo http://$SPARK_SERVICE_IP:8080
http://34.70.212.182:8080

如果打开此URL,则表示Spark Webui已准备就绪。

Spark WEBUI