[英]Yarn allocates only 1 core per container. Running spark on yarn
請確保動態分配不會在您監視 YARN UI 時殺死您的容器。 請參閱下面的答案
問題:我可以使用每個執行程序的任意數量的核心啟動 SparkSession,並且 yarn 仍會報告每個容器僅分配一個核心。 我已經嘗試了所有可用的在線解決方案: 這里, 這里等
解決辦法是:
yarn-site.xml
以使用容量調度<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
capacity-scheduler.xml
)以使用主導資源調度<property>
<name>yarn.scheduler.capacity.resource-calculator</name>
<value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
</property>
然而,yarn gui 仍然顯示集群只為每個執行程序分配一個核心。
我在這里閱讀了答案,它說這是容量調度程序中的一個已知錯誤,解決方案實際上是將 yarn 配置為使用公平調度,但是,公平調度會不必要地復雜並且顯示在 yarn gui 上是僅僅是一個報告問題,執行者實際上確實分配了正確數量的核心。 但是,這個答案已有 5 年歷史了,我認為這樣的錯誤會同時得到解決。
所以,我問這個問題是為了看看這個錯誤是否仍然存在,如果我對問題的理解是錯誤的,或者,如果我做錯了什么並且現在可以解決問題而無需進入公平調度的雜草
這有點尷尬,我想刪除這個問題,但萬一它對某人有幫助。
Dataproc 容量調度程序問題已針對主要資源計算器和默認資源計算器得到解決
我只看到一個容器,其中有一個核心,因為我在禁用它時將dynamicAllocation
錯誤輸入為dynamicAllocatoin
並且動態分配在那里,當我不使用它們時正在殺死容器並且 yarn UI 確實報告了正確的數字
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.