Apache spark 如何在k8s上使用火花舵图
我是新手。我正在试着用它跑步。我可以看到,默认情况下,它会使1主控和2执行器旋转,并在Apache spark 如何在k8s上使用火花舵图,apache-spark,kubernetes,kubernetes-helm,Apache Spark,Kubernetes,Kubernetes Helm,我是新手。我正在试着用它跑步。我可以看到,默认情况下,它会使1主控和2执行器旋转,并在集群上公开端口:8080 现在我所做的是通过elb公开端口:8080,这样我就可以看到UI 问题是,我是否总是必须在用于旋转母版的图像中烘焙jar或pySpark代码,还是我还有其他选择 我不想将k8s用作spark的群集管理器。我正在尝试查看是否有方法将spark作为应用程序托管在k8s上,并将作业提交给它,因为它是一个具有工作节点的独立集群 因此,与其使用: spark-submit \ ... --mas
集群
上公开端口:8080
现在我所做的是通过elb
公开端口:8080
,这样我就可以看到UI
问题是,我是否总是必须在用于旋转母版的图像中烘焙jar
或pySpark
代码,还是我还有其他选择
我不想将k8s
用作spark
的群集管理器。我正在尝试查看是否有方法将spark
作为应用程序托管在k8s
上,并将作业提交给它,因为它是一个具有工作节点的独立集群
因此,与其使用:
spark-submit \
...
--master k8s://https://KUBECLUSTER-DNS-ADDRESS
我想做:
spark-submit \
...
--master spark://SPARK-MASTER-ELB-DNS
此外,我还试图避免在spark docker图像中烘焙作业
我不想使用k8s作为spark的群集管理器。我试图看看是否有办法将spark作为应用程序托管在k8s上,并将作业提交给它,因为它是一个具有工作节点的独立集群
您可以使用客户端
或集群
客户端:
群集:
此外,我还试图避免在spark docker的形象中烘焙作业
唯一的方法是使用客户端
模式。基本上,您的驱动程序将位于您运行spark submit
的任何机器中,这将需要您执行作业所需的所有位。唯一的缺点是,如果客户机与Kubernetes群集不在同一位置,您可能会受到网络延迟的影响
使用cluster
模式,您可以将内容烘焙到您的容器映像中,因为您的驱动程序可以从集群中的任何从属容器/吊舱启动
# 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