天天看點

Spark on yarn 動态資源配置

一、yarn的配置 

修改每台叢集上的<code>yarn-site.xml</code>:

1

2

3

4

5

6

7

8

9

重新開機所有修改配置的節點。

二、spark的配置 

配置<code>$spark_home/conf/spark-defaults.conf</code>,增加以下參數:

動态資源配置設定政策: 

開啟動态配置設定政策後,application會在task因沒有足夠資源被挂起的時候去動态申請資源,這種情況意味着該application現有的executor無法滿足所有task并行運作。spark一輪一輪的申請資源,當有task挂起或等待<code>spark.dynamicallocation.schedulerbacklogtimeout</code>(預設1s)`時間的時候,會開始動态資源配置設定;之後會每隔spark.dynamicallocation.sustainedschedulerbacklogtimeout(預設1s)時間申請一次,直到申請到足夠的資源。每次申請的資源量是指數增長的,即1,2,4,8等。 

之是以采用指數增長,出于兩方面考慮:其一,開始申請的少是考慮到可能application會馬上得到滿足;其次要成倍增加,是為了防止application需要很多資源,而該方式可以在很少次數的申請之後得到滿足。

資源回收政策: 

當application的executor空閑時間超過<code>spark.dynamicallocation.executoridletimeout(預設60s)</code>後,就會被回收。

使用spark-sql on yarn執行sql,動态配置設定資源 

以yarn-client模式啟動thriftserver

啟動後,thriftserver會在yarn上作為一個長服務來運作:

繼續閱讀