spark流和spark应用程序可以在同一个yarn集群中运行吗?

wmvff8tz  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(389)

大家好,新年快乐!
我正在用apachespark、hdfs和elastichsearch构建一个lambda架构。在下图中,我想做的是:

到目前为止,我已经用java为spark流媒体和spark应用程序编写了源代码。我在spark文档中看到spark可以在mesos或yarn clutser中运行。如图所示,我已经有了一个hadoop集群。是否可以在同一个hadoop集群中运行spark流和spark应用程序?如果是,是否有任何特定的配置要做(例如节点数、ram…)。或者我必须为spark流添加hadoop集群吗?
我希望我的解释清楚。
亚西尔

fwzugrvs

fwzugrvs1#

运行spark流不需要构建单独的集群。
更改 spark.master 属性到 yarn-client 或者 yarn-clusterconf/spark-defaults.conf 文件。如有规定,提交的spark申请将由Yarn应用程序管理员处理,并由节点管理员执行。
此外,还可以改变磁芯和存储器的这些特性,使Spark与Yarn对齐。
spark-defaults.conf ```
spark.executors.memory
spark.executors.cores
spark.executors.instances

在 `yarn-site.xml` ```
yarn.nodemanager.resource.memory-mb
yarn.nodemanager.resource.cpu-vcores

否则可能导致集群死锁或资源利用不当。
在Yarn上运行spark时,集群的资源管理请参见此处。

lmvvr0a8

lmvvr0a82#

这是可能的。您将流式处理和批处理应用程序提交到同一个Yarn集群。但在这两个作业之间共享集群资源可能有点棘手(据我所知)。
因此,我建议您查看spark jobserver以提交您的应用程序。当您想要维护多个spark上下文时,spark jobserver使您的生活更轻松。两个应用程序所需的所有配置将在一个位置。

相关问题