日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spark on mesos 两种运行模式

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spark on mesos 两种运行模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

spark on mesos 有粗粒度(coarse-grained)和細粒度(fine-grained)兩種運行模式,細粒度模式在spark2.0后開始棄用。

細粒度模式

優點

spark默認運行的就是細粒度模式,這種模式支持資源的搶占,spark和其他frameworks以非常細粒度的運行在同一個集群中,每個application可以根據任務運行的情況在運行過程中動態的獲得更多或更少的資源(mesos動態資源分配),但是這會在每個task啟動的時候增加一些額外的開銷。這個模式不適合于一些低延時場景例如交互式查詢或者web服務請求等。

啟動spark-shell,啟動時不占有資源,需要運行task后才去申請

缺點

spark中運行的每個task的運行都需要去申請資源,也就是說啟動每個task都增加了額外的開銷。

在一些task數量很多,可是任務量比較輕的應用中,該開銷會被放大。

例如:

遍歷一個hdfs中擁有3w分區的數據(56億條)任務:

粗粒度模式耗時細粒度模式耗時
50s420s

粗粒度模式

該模式的優點是啟動task的時候開銷比較小,但是該模式運行的時候每個application會一直占有一定的資源,直到整個application結束后才會釋放資源。

啟動spark-shell,啟動應用時即占有資源

可以在conf/spark-default.conf中開啟粗粒度模式

spark.mesos.coarse true

在粗粒度模式下,一個application啟動時會獲取集群中所有的cpu(mesos資源邀約的所有cpu), 這會導致在這個application運行期間你無法再運行其他任務。你可以控制一個application獲取到的最大資源來解決這個問題。

例如你可以設置最大的cpu使用數
在conf/spark-default.conf中設置

spark.cores.max 10

這樣提交任務后,application會一直占用10個cpu,不會增加也不會減少,直到完全運行結束。

spark在1.5中提供了動態executor調整的功能,可以緩解資源長期不釋放的問題。

spark dynamic allocation

一些相關參數

屬性名默認值描述
spark.mesos.coarsefalse是否使用粗粒度模式運行spark任務|
spark.mesos.extra.cores0只能在粗粒度模式下使用,為每個task增加額外的cpu,但是總的cpu數不會超過spark.cores.max設置的數量
spark.mesos.mesosExecutor.cores1.0即使spark task沒有執行,每個mesos executor也會持續的擁有這些cpu,可以設置浮點數
spark.mesos.executor.memoryOverheadexecutor memory * 0.10, with minimum of 384每個executor額外的一些內存,單位是mb,默認情況下,該值是spark.executor.memory 的0.1倍,且不小于384mb。如果進行了設置,就會變成你設置的值

轉載于:https://www.cnblogs.com/xiaomaohai/p/6158059.html

總結

以上是生活随笔為你收集整理的spark on mesos 两种运行模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。