在spark集群上可以同时运行多个提交的应用程序吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在spark集群上可以同时运行多个提交的应用程序吗相关的知识,希望对你有一定的参考价值。

可以的,spark提交job的方式有client和cluster两种,同时提交多个的话最好用cluster方式,但是需要注意的是:如果集群的资源不能同时支持两个job运行,则后提交的job会一直等待资源,直到第一个job运行完成释放出足够的资源。具体的行为依赖资源管理框架(如yarn) 参考技术A 可以的呀,只有有资源就行

Spark Streaming 在哪里运行?

【中文标题】Spark Streaming 在哪里运行?【英文标题】:Where does Spark Streaming run? 【发布时间】:2017-01-24 17:18:05 【问题描述】:

据我了解,Spark 可以使用 Spark Streaming 分析流。 Kafka 可以接收来自多个来源的数据。 我不明白的是,如果我有一个 Kafka 集群从多个源接收数据,数据会发送到运行 Spark Streaming 的数据库吗?还是 Spark Streaming 在应用服务器上运行?

【问题讨论】:

您可以尝试将Spark集群部署在Kafka(Zookeeper)同一个集群中。我们在生产中的环境很少,一个是 Kafka + zookeeper(在同一个集群中)和 spark 独立的独立集群的主要优点是维护(版本升级,......)但我们也有在生产中运行的 Kafka zookeeper 和 Apache Storm 在同一个集群上(物理服务器100T)。您可以尝试将 Spark(作为独立的一个 jar)添加到您的 Kafka 集群(具有所有必要的配置端口,...)。 另外忘记添加,如果你是运行在 Kubernetes 或 Mesos 上,那么无论你使用哪个服务器,资源管理都会由它们来完成。 【参考方案1】:

如果您使用 Spark Streaming,则需要设置一个 Spark 集群,然后将 Spark Streaming 作业提交到集群。因此,您将需要 2 个集群:Kafka + Spark(或者实际上是 3 个,因为您还需要一个用于 Kafka 的 Zookeeper 集群)。

【讨论】:

所以如果我有一个 spark 集群,那么 spark 作业是在应用服务器上运行的吗?并以 mapreduce 样式分发到 spark 集群?

以上是关于在spark集群上可以同时运行多个提交的应用程序吗的主要内容,如果未能解决你的问题,请参考以下文章

Spark Streaming 在哪里运行?

《Spark 官方文档》在Mesos上运行Spark

java 怎么提交应用程序到spark standalone集群中去运行

Spark两种提交方式Yarn-client and Yarn-cluster

无法将 Apache Spark 应用程序提交到容器化集群

Spark集群任务提交流程----2.1.0源码解析