1. 程式人生 > >spark提交任務引數–executor-cores設定不起作用

spark提交任務引數–executor-cores設定不起作用

問題描述

1.雖然目前大多數平臺內建Application在提交時,只配置了–num-executors和–executor-memory引數,但是其他APP的開發者可能會配置–executor-cores引數。

舉個例子:

./spark-submit –master yarn-client –executor-cores 4 –num-executors 6  –executor-memory 10g –driver-memory 2g   –jars xxJar –class xxxApp 

即有6個executor,每個executor的cores數目為4。不過當你提交任務時,你一定會非常吃驚,因為yarn 8088上展示的vcores會是7。看起來就像是引數設定並未生效一樣。

問題分析與解決

兩個原因:
1.配置不對
其實這是因為我們的capacity schedule使用的是DefaultResourceCalculator,那麼DefaultResourceCalculator它在載入container時其實僅僅只會考慮記憶體而不考慮cores。所以,如果我們想讓它既考慮記憶體也考慮cores的話,需要將$HADOOP_HOME/etc/hadoop/capacity-scheduler.xml中的:

<property>
<name>yarn.scheduler.capacity.resource-calculator</name>
<value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator</value>
</property>

修改為:

<property>
<name>yarn.scheduler.capacity.resource-calculator</name>
<value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
</property>

請注意每個節點的配置檔案都需要修改。並且重啟hadoop。
這時再提交spark application,vcores used的數目就對了。
=25=4*6+1

另外,如果不期望在命令中寫executor-cores引數,可以在$SPARK_HOME/conf/spark-env.sh裡配置:

export SPARK_EXECUTOR_CORES=4

這樣預設executor-cores就為4了。

2.本身機器資源就不夠,並且開啟了動態資源申請,這種情況的解決方案不用說了要麼加資源,要麼關閉動態資源申請,然後讓任務在有資源的時候再執行

相關推薦

spark提交任務引數executor-cores設定作用

問題描述 1.雖然目前大多數平臺內建Application在提交時,只配置了–num-executors和–executor-memory引數,但是其他APP的開發者可能會配置–executor-cores引數。 舉個例子: ./spark-submit –ma

flex佈局 主軸寬度不足時,子專案寬度設定作用

.wrap{ display: flex; flex-direction: column;//主軸為豎向 align-items: center;} 若容器內豎向空間不足,子專案的height可能不起作用,被直接壓縮為0,此時需設定其flex屬性(f

echarts散點圖標註顏色設定作用

visualMap: { show:false, min: 0, max: 100, splitNumber: 5,

eclipse git提交忽略檔案gitignore,以及作用問題解決

eclispe中git提交時,一些類似.classpath, .project文件不能提交,需要在pom.xml平級目錄下新建.gitignore檔案進行設定。有時候專案中存在了.gitignore檔案,但是看不到,需要這樣設定.gitignore檔案設定了,commit時候

Eclipse_斷點設定作用

在使用Ecplise進行程式碼除錯的時候,發現打了斷點,卻一直不進入斷點,也不會進取斷點除錯模式,找了很久答案,之前就發現斷點的樣子有些奇怪,現在看來,還真是這個原因造成的。只要不跳過斷點快捷鍵(Ctrl + Alt + B)就會進入除錯模式了,或進行設定

mybatis 使用jdbc.properties檔案設定作用

這樣寫的時候起作用: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//myb

RDD的緩存,依賴,spark提交任務流程

持久化 存儲 技術分享 alt 重要 depend 任務 cache 但是 1.RDD的緩存 Spark速度非常快的原因之一,就是在不同操作中可以在內存中持久化或緩存個數據集。當持久化某個RDD後,每一個節點都將把計算的分片結果保存在內存中,並在對此RDD或衍生出的RDD進

為什麼我設定的虛擬機器引數作用

最近在使用spring cloud做微服務架構,然後spring boot打成jar包執行,發現佔用的記憶體過大,基本上都在1.2G~1.5G之間。 然後很多服務都部署在一臺伺服器上,導致各種服務佔用的記憶體太大,而相互擠佔,經常有服務掉線。 為此,我想給虛擬機器加引數設定堆記憶體大小,然後隨手一百度,就

spark提交任務的三種的方法

在學習Spark過程中,資料中介紹的提交Spark Job的方式主要有三種: 第一種:    通過命令列的方式提交Job,使用spark 自帶的spark-submit工具提交,官網和大多數參考資料都是已這種方式提交的,提交命令示例如下:./spark-submit --class c

spark提交任務以及資源分配問題

使用spark-submit命令提交Spark應用(注意引數的順序) spark-submit --master spark://hadoop01:7077 --class cn.edu360.spa

spark 提交任務到yarn上執行

1、在idea上先寫好,自己的程式碼並進行測試,這裡貼一個很簡單的統計單詞個數的程式碼 package spark import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkConte

spark提交任務的模式—— standalone模式與yarn模式、資源排程與任務排程

standalone模式 在客戶端提交Application,Driver在客戶端啟動; 客戶端向Master申請資源,Master返回Worker節點; Driver向Worker節點發送task,監控task執行,回收結果。 在客戶端提交App

Spark提交任務到YARN cluster中,提示An error occurred while calling z:org.apache.spark.api.python.PythonRDD

報錯日誌擷取部分如下: XXXXXXXXXX ERROR YarnSchedulerBackend$YarnSchedulerEndpoint:91 - Sending RequestExecutors(0,0,Map(),Set()) to AM was unsuccessful java.i

JVM記憶體設定,各個引數含義和設定作用問題

這兩天才來公司,遇到很棘手的問題,把公司專案下載下來後無法執行,報錯記憶體溢位問題,然後網上一大堆問題的答案,按照網上的答案解決了tomcat:java.lang.OutOfMemoryError: PermGen space問題,但是後面還有tomcat:java.lan

spark 提交任務方式(spark-yarn和spark-client)

yarn-cluster和yarn-client方式的區別: yarn-cluster的ApplicationMaster在任一一臺NodeManager上啟動,申請啟動的Executor反向註冊到AM所在的NodeManager, 而yarn-client

Safari瀏覽器對設定的高度作用,解決方案

發現 文字 one 底部對齊 設定 pan select標簽 pro prop 1、在做瀏覽器兼容的時候,發現select標簽在safari蘋果瀏覽器中的高度永遠都是默認的,這時候解決的辦法是加上line-height屬性就可以設置;2、但加上line-height屬性可以

使用attr()設定checked屬性時,第二次作用

使用attr()設定複選框checked屬性時,在jquery 1.8.3版本中沒有問題,但是在jquery 1.10.2版本中,第一次可以使用,第二次不能使用。 解決方法:使用prop屬性代替attr屬性 一、Attr 除 checked, selected, 或 disa

微信小程式設定height 100% 作用解決辦法

https://blog.csdn.net/wshpwangshiyu/article/details/79744884 問題:微信小程式設定背景圖片高度適應整個螢幕,設定height 100% 不起作用? .container-all{ width: 100%; he

關於內層DIV設定margin-top作用的解決方案

關於內層DIV設定margin-top不起作用的解決方案 閱讀目錄 關於內層DIV設定margin-top不起作用的解決方案 回到頂部 關於內層DIV設定margin-top不起作用的解決方案 (一) 近日在做另外一個站點的時候,又遇到這個問題,決定好好的研究

onchange監聽input值變化及input隱藏後change事件觸發的原因與解決方法(設定readonly後onchange作用的解決方案)

轉自:https://www.cnblogs.com/white0710/p/7338456.html 1. onchange事件監聽input值變化的使用方法: <input id="test"></input> $("input"