如何在k8s上使用helm chart for spark

问题描述 投票:2回答:1

我是spark的新手。我想用sparkk8shelm chart: stable/spark上运行。我可以看到它默认旋转了1个master和2个执行器,并在ClusterIP上暴露了端口:8080。

现在我所做的是通过8080暴露港口:elb所以我可以看到UI

问题是我总是要在我用来旋转主人的图像中烘焙jarpySpark代码,或者我还有其他选择吗?

我不想将k8s用作spark的集群管理器。我试图看看是否有办法将spark作为k8s上的应用程序托管并向其提交作业,因为它是一个带有工作节点的独立集群。

所以不要使用:

spark-submit \
...
--master k8s://https://KUBECLUSTER-DNS-ADDRESS

我想要做:

spark-submit \
...
--master spark://SPARK-MASTER-ELB-DNS

此外,我试图避免在火花码头图像中烘烤job

apache-spark kubernetes kubernetes-helm
1个回答
1
投票

我不想将k8s用作Spark的Cluster Manager。我试图看看是否有办法将火花作为k8s上的应用程序托管并向其提交作业,因为它是一个带有工作节点的独立集群。

你可以使用clientcluster mode

客户:

# Run on a Spark standalone cluster in client deploy mode
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://IP-ADDRESS-OF-MASTER:7077 \
  --executor-memory 20G \
  --total-executor-cores 100 \
  /path/to/examples.jar \
  1000

簇:

./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://IP-ADDRESS-OF-MASTER:7077 \
  --deploy-mode cluster \
  --supervise \
  --executor-memory 20G \
  --total-executor-cores 100 \
  /path/to/examples.jar \
  1000

此外,我试图避免在火花码头图像中烘焙工作。

唯一的方法是使用client模式。基本上,你的驱动程序将在你运行spark-submit的任何机器中,并且需要拥有执行工作所需的所有位。唯一的缺点是,如果客户端与Kubernetes集群不在同一位置,您可能会受到网络延迟的影响。

使用cluster模式,您可以将容器烘焙到容器映像中,因为您的驱动程序可以从群集中任何从属容器/容器启动。

© www.soinside.com 2019 - 2024. All rights reserved.