spark-submit參數(shù)

1、簡介

本文主要講述spark-submit/spark-shell等spark啟動指令的參數(shù)機(jī)器作用鹏往。
參數(shù)調(diào)用方式:-- 參數(shù)key 參數(shù)value。

2、參數(shù)說明

2.1 通用參數(shù)(java,scala,python等程序)

  • master master
    這個master_url可以是如下幾種:
spark://host:port   #standalone
mesos://host:port
yarn
yarn-cluster
yarn-client
local
  • deploy-mode deploy-mode
    Driver 程序的運(yùn)行模式絮姆,client或者cluster沼瘫,client表示master就是本地機(jī)器作為master平痰,使用cluster表示使用有yarn從集群中選擇機(jī)器作為master。建議使用client夕凝,使用client可以從本地關(guān)閉進(jìn)程铃绒,即方便控制程序鸽照。

  • class class_name
    應(yīng)用程序的入口點(diǎn),main函數(shù)所在的類颠悬。主類的名稱矮燎,包括完整的包路徑,可借助pwd+相對路徑赔癌,

  • name name
    spark application的名字诞外,即該spark任務(wù)的名稱

  • queue queue_name
    提交應(yīng)用程序給哪個yarn隊列, 默認(rèn)的隊列是default隊列灾票, 僅限與spark on yarn模式峡谊。

  • properties-file file
    設(shè)置應(yīng)用程序?qū)傩缘奈募窂剑J(rèn)是$SPARK_HOME/conf/spark-defaults.conf刊苍。

executor運(yùn)行(內(nèi)存/線程)參數(shù):

  • executor-memory
    每個執(zhí)行程序進(jìn)程使用的內(nèi)存量既们,e.g. 2g/2G
  • executor-cores num
    單個executor運(yùn)行使用的核數(shù),即開多少線程來并發(fā)執(zhí)行task正什,默認(rèn)為1啥纸, 僅限于spark on yarn模式。
  • num-executors num
    executor運(yùn)行個數(shù)婴氮,即執(zhí)行節(jié)點(diǎn)的個數(shù)脾拆,默認(rèn)為2, 僅限于spark on yarn模式莹妒。
  • total-executor-cores num
    executor的運(yùn)行使用的總核數(shù)名船,僅限與standalone和spark on mesos。

spark 任務(wù)中的最高并發(fā)的 task 數(shù)量為:
total\_task = executor\_num * executor\_cores
注意:所有核共用Executor的內(nèi)存旨怠,所以要在內(nèi)存和核數(shù)之間做好平衡$

driver 參數(shù):

  • driver-memory mem
    Driver 程序運(yùn)行時需要的內(nèi)存渠驼, 默認(rèn)為1g。該參數(shù)一般使用默認(rèn)的即可鉴腻,如果使用到了collect操作或者任務(wù)的平行度變大迷扇,可以將該參數(shù)變大一點(diǎn)百揭;

  • driver-cores num
    Driver的運(yùn)行核數(shù),默認(rèn)為1個蜓席,僅限于standalone模式器一。

  • conf:Key = value格式的任意Spark配置屬性。對于包含空格的值厨内,用引號括起“key = value”祈秕,eg:
    --conf spark.driver.maxResultSize=0

總結(jié)

在執(zhí)行 Spark 的應(yīng)用程序時,Spark 集群會啟動 Driver 和 Executor 兩種 JVM 進(jìn)程雏胃,前者為主控進(jìn)程请毛,負(fù)責(zé)創(chuàng)建 Spark 上下文,提交 Spark 作業(yè)(Job)瞭亮,并將作業(yè)轉(zhuǎn)化為計算任務(wù)(Task)方仿,在各個 Executor 進(jìn)程間協(xié)調(diào)任務(wù)的調(diào)度,后者負(fù)責(zé)在工作節(jié)點(diǎn)上執(zhí)行具體的計算任務(wù)统翩,并將結(jié)果返回給 Driver仙蚜,同時為需要持久化的 RDD 提供存儲功能。
spark-shuffle中的read和write操所需要的內(nèi)存主要是在exector中的堆內(nèi)內(nèi)存中運(yùn)行厂汗。

2.2 java參數(shù)介紹

  • driver-library-path path
    Driver程序依賴的第三方j(luò)ar包鳍征。

  • driver-java-options
    Driver應(yīng)用程序運(yùn)行時的一些java配置選項,例如GC的相關(guān)信息等面徽。

  • jars jars
    加入到Driver和集群executor的類路徑中的jar包列表艳丛,以逗號進(jìn)行分隔,可以是本地列表

  • packages package1,package2
    項目所需要包趟紊,集群模式下該參數(shù)需要跟repositories參數(shù)一起使用

  • repositories remoteAdress
    maven格式的遠(yuǎn)程存儲庫列表氮双,如果不給定,則會使用機(jī)器安裝的默認(rèn)源霎匈,package指定的包也從這里下載戴差。

spark 應(yīng)用程序第三方j(luò)ar文件依賴解決方法
1、將第三方j(luò)ar文件打包到最終形成的spark應(yīng)用程序jar文件中铛嘱,適應(yīng)于第三方j(luò)ar文件比較小
2暖释、使用spark-submit提交的參數(shù):--jars,適應(yīng)于spark-submit命令的機(jī)器上存在對應(yīng)的jar文件
3墨吓、使用spark-submit提交命令的參數(shù):--package球匕,適應(yīng)于遠(yuǎn)程倉庫中的jar包

2.3 python參數(shù)介紹

  • py-files py-files
    使用逗號分隔的放置在python應(yīng)用程序PYTHONPATH 上的.zip, .egg, .py的文件列表。

3帖烘、conf常用參數(shù)

3.1 使用方法

--conf key=value

3.2 常用key

  • spark.driver.maxResultSize
    每個Spark操作(例如亮曹,收集)的所有分區(qū)的序列化結(jié)果的總大小限制(以字節(jié)為單位)。 應(yīng)至少為1M,或0為無限制照卦。 如果總大小超過此限制式矫,則將中止作業(yè)。 具有高限制可能會導(dǎo)致驅(qū)動程序中出現(xiàn)內(nèi)存不足錯誤(取決于spark.driver.memory和JVM中對象的內(nèi)存開銷)役耕。 設(shè)置適當(dāng)?shù)南拗瓶梢员Wo(hù)驅(qū)動程序免受內(nèi)存不足錯誤的影響采转。但常用0,可以以此來查程序中bug

  • spark.network.timeout
    所有網(wǎng)絡(luò)的交互間隔時間瞬痘,如果超過這個時間executor將停止

  • spark.executor.heartbeatInterval
    executor給driver發(fā)送心跳的時間間隔故慈,在任務(wù)執(zhí)行的過程中,executot需要一直給driver發(fā)送心跳图云,如果超過該間隔惯悠,driver認(rèn)為任務(wù)執(zhí)行失敗邻邮。單位ms竣况,另外該值需要遠(yuǎn)小于spark.network.timeout

  • spark.executor.extraJavaOptions
    要傳遞給executors的一串額外JVM選項。 例如筒严,GC設(shè)置或其他日志記錄丹泉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鸭蛙,隨后出現(xiàn)的幾起案子摹恨,更是在濱河造成了極大的恐慌,老刑警劉巖娶视,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晒哄,死亡現(xiàn)場離奇詭異,居然都是意外死亡肪获,警方通過查閱死者的電腦和手機(jī)寝凌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來孝赫,“玉大人较木,你說我怎么就攤上這事∏啾” “怎么了伐债?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長致开。 經(jīng)常有香客問我峰锁,道長,這世上最難降的妖魔是什么双戳? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任祖今,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘千诬。我一直安慰自己耍目,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布徐绑。 她就那樣靜靜地躺著邪驮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪傲茄。 梳的紋絲不亂的頭發(fā)上毅访,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機(jī)與錄音盘榨,去河邊找鬼喻粹。 笑死,一個胖子當(dāng)著我的面吹牛草巡,可吹牛的內(nèi)容都是我干的守呜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼山憨,長吁一口氣:“原來是場噩夢啊……” “哼查乒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起郁竟,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤玛迄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后棚亩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蓖议,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年讥蟆,在試婚紗的時候發(fā)現(xiàn)自己被綠了勒虾。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡攻询,死狀恐怖从撼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钧栖,我是刑警寧澤低零,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站拯杠,受9級特大地震影響掏婶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜潭陪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一雄妥、第九天 我趴在偏房一處隱蔽的房頂上張望最蕾。 院中可真熱鬧,春花似錦老厌、人聲如沸瘟则。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽醋拧。三九已至,卻和暖如春淀弹,著一層夾襖步出監(jiān)牢的瞬間丹壕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工薇溃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留菌赖,地道東北人。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓沐序,卻偏偏與公主長得像琉用,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子薄啥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容