1. 程式人生 > >spark提交任務以及資源分配問題

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

使用spark-submit命令提交Spark應用(注意引數的順序)

spark-submit --master spark://hadoop01:7077 --class cn.edu360.spark.WordCount sparkcore-1.0-SNAPSHOT.jar hdfs://hdp-01:9000/wordcount/input hdfs://hdp-01:9000/wordcount/output   

任務執行命令的基本套路: spark-submit 任務提交引數 --class 程式的 main 方法 jar 包 main 的引數列表

可以直接通過spark-submit檢視所有的引數配置:

spark 任務常用引數說明

--master spark://hdp-01:7077 指定 Master 的地址 --executor-memory 2g 指定每個 executor 可用記憶體為 2G( 512m) 預設是 1024mb --total-executor-cores 2 指定執行任務使用的 cup 核數為 2 個 --name “appName” 指定程式執行的名稱 --executor-cores 1 指定每一個 executor 可用的記憶體 --jars xx.jar 程式額外使用的 jar 包 注意:如果 worker 節點的記憶體不足,那麼在啟動 spark-shell 的時候,就不能為 executor 分配超出 worker 可用的記憶體容量,大家根據自己 worker 的容量進行分配任務資源。

如果使用配置—executor-cores,超過了每個 worker 可以的 cores,任務處於等待狀態。 如果使用—total-executor-cores ,即使超過可以的 cores,預設使用所有的。以後當叢集 其他的資源釋放之後,就會被該程式所使用。 如果記憶體或單個 executor 的 cores 不足,啟動 spark-submit 就會報錯,任務處於等待狀 態,不能正常執行。