[英]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-client
或yarn-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.