簡體   English   中英

Spark 流和 Spark 應用程序可以在同一個 YARN 集群中運行嗎?

[英]Can Spark streaming and Spark applications be run within the same YARN cluster?

大家好,新年快樂;)!

我正在使用 Apache Spark、HDFS 和 Elastichsearch 構建 lambda 架構。 在下圖中,這是我想要做的: 在此處輸入圖片說明

到目前為止,我已經用 Java 編寫了 Spark 流和 Spark 應用程序的源代碼。 我在 spark 文檔中讀到 spark 可以在 Mesos 或 YARN clutser 中運行。 如圖所示,我已經有了一個hadoop集群。 是否可以在同一個 hadoop 集群中運行我的 Spark 流和 Spark 應用程序? 如果是,是否有任何特定的配置要做(例如節點數、RAM...)。 或者我是否必須添加一個專門用於火花流的 hadoop 集群?

我希望我的解釋是清楚的。

亞西爾

有可能的。 您將流和批處理應用程序提交到同一個紗線集群。 但是在這兩個作業之間共享集群資源可能有點棘手(根據我的理解)。

所以我建議你看看Spark Jobserver來提交你的申請。 當您想要維護多個 Spark 上下文時,Spark-jobserver 讓您的生活更輕松。 兩個應用程序所需的所有配置都將集中在一處。

您無需構建單獨的集群來運行 Spark 流。

conf/spark-defaults.conf文件中的spark.master屬性更改為yarn-clientyarn-cluster 指定時,提交的 spark 應用程序將由 YARN 的 ApplicationMaster 處理,並由 NodeManagers 執行。

另外修改內核內存的這些屬性以將 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 時,請參閱此處了解集群的資源管理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM