Apache spark 如何在Kubernetes上运行Spark Standalone master,该主机将使用Kubernetes Cluser Manager启动workers
我有一个应用程序,目前在本地使用独立模式,通过Apache spark 如何在Kubernetes上运行Spark Standalone master,该主机将使用Kubernetes Cluser Manager启动workers,apache-spark,kubernetes,Apache Spark,Kubernetes,我有一个应用程序,目前在本地使用独立模式,通过SparkContext使用spark功能。我们不是使用spark submit上传作业,而是在kubernetes上的容器中运行应用程序,因此我们希望利用kubernetes提供的动态调度来运行作业 我们开始寻找一个helm图表来创建在kubernetes上运行的独立集群,类似于几年前在机器(VM或实际机器)上运行独立集群的方式,并遇到以下问题 问题: 非常古老的火花实例 不使用spark提供的容器 如果您需要保留大的工作节点并随时运行,而不考
SparkContext
使用spark功能。我们不是使用spark submit上传作业,而是在kubernetes上的容器中运行应用程序,因此我们希望利用kubernetes提供的动态调度来运行作业
我们开始寻找一个helm图表来创建在kubernetes上运行的独立集群,类似于几年前在机器(VM或实际机器)上运行独立集群的方式,并遇到以下问题
问题:
- 非常古老的火花实例
- 不使用spark提供的容器
- 如果您需要保留大的工作节点并随时运行,而不考虑您的需要,则此设置会浪费大量资源
- 不支持我们与spark交互的方式,采用的方法是所有应用都是推送到集群运行的独立应用
- 没有允许我们利用集群中缓存资源的长期主机
org.apache.spark.deploy.master.master
启动并使用
org.apache.spark.scheduler.cluster.k8s.KubernetesClusterManager
所以我想问的是,有没有人有运行独立主机的经验,可以使用kubernetes后端,比如“KubernetesClusterManager”为了让工作节点动态创建为POD并运行执行器,同时拥有一个永久的独立主节点,允许SparkContext以客户端模式远程连接到它。您能解决这个问题吗?似乎大多数人都使用spark submit,只有少数人使用SparkContext创建专用应用程序。我们目前也在尝试采用类似您的方法。我们希望有一个running master,在这里我们可以连接笔记本电脑,打开交互式会话,并运行一些查询。然后,如果需要,主机将根据spark会话的配置启动执行器吊舱。