W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在Spark bin目錄下的spark-submit
可以用來(lái)在集群上啟動(dòng)應(yīng)用程序。它可以通過統(tǒng)一的接口使用Spark支持的所有集群管理器,所有你不必為每一個(gè)管理器做相應(yīng)的配置。
bin/spark-submit
腳本負(fù)責(zé)建立包含Spark以及其依賴的類路徑(classpath),它支持不同的集群管理器以及Spark支持的加載模式。
./bin/spark-submit \
--class <main-class>
--master <master-url> \
--deploy-mode <deploy-mode> \
--conf <key>=<value> \
... # other options
<application-jar> \
[application-arguments]
一些常用的選項(xiàng)是:
--class
:你的應(yīng)用程序的入口點(diǎn)(如org.apache.spark.examples.SparkPi)--master
:集群的master URL(如spark://23.195.26.187:7077)--deploy-mode
:在worker節(jié)點(diǎn)部署你的driver(cluster)或者本地作為外部客戶端(client)。默認(rèn)是client。--conf
:任意的Spark配置屬性,格式是key=value。application-jar
:包含應(yīng)用程序以及其依賴的jar包的路徑。這個(gè)URL必須在集群中全局可見,例如,存在于所有節(jié)點(diǎn)的hdfs://
路徑或file://
路徑application-arguments
:傳遞給主類的主方法的參數(shù)一個(gè)通用的部署策略是從網(wǎng)關(guān)集群提交你的應(yīng)用程序,這個(gè)網(wǎng)關(guān)機(jī)器和你的worker集群物理上協(xié)作。在這種設(shè)置下,client
模式是適合的。在client
模式下,driver直接在spark-submit
進(jìn)程中啟動(dòng),而這個(gè)進(jìn)程直接作為集群的客戶端。應(yīng)用程序的輸入和輸出都和控制臺(tái)相連接。因此,這種模式特別適合涉及REPL的應(yīng)用程序。
另一種選擇,如果你的應(yīng)用程序從一個(gè)和worker機(jī)器相距很遠(yuǎn)的機(jī)器上提交,通常情況下用cluster
模式減少drivers和executors的網(wǎng)絡(luò)遲延。注意,cluster
模式目前不支持獨(dú)立集群、mesos集群以及python應(yīng)用程序。
有幾個(gè)我們使用的集群管理器特有的可用選項(xiàng)。例如,在Spark獨(dú)立集群的cluster
模式下,你也可以指定--supervise
用來(lái)確保driver自動(dòng)重啟(如果它因?yàn)榉橇阃顺龃a失?。榱肆信espark-submit所有的可用選項(xiàng),用--help
運(yùn)行它。
# Run application locally on 8 cores
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[8] \
/path/to/examples.jar \
100
# Run on a Spark Standalone cluster in client deploy mode
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://207.184.161.138:7077 \
--executor-memory 20G \
--total-executor-cores 100 \
/path/to/examples.jar \
1000
# Run on a Spark Standalone cluster in cluster deploy mode with supervise
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://207.184.161.138:7077 \
--deploy-mode cluster
--supervise
--executor-memory 20G \
--total-executor-cores 100 \
/path/to/examples.jar \
1000
# Run on a YARN cluster
export HADOOP_CONF_DIR=XXX
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn-cluster \ # can also be `yarn-client` for client mode
--executor-memory 20G \
--num-executors 50 \
/path/to/examples.jar \
1000
# Run a Python application on a Spark Standalone cluster
./bin/spark-submit \
--master spark://207.184.161.138:7077 \
examples/src/main/python/pi.py \
1000
傳遞給Spark的url可以用下面的模式
Master URL | Meaning |
---|---|
local | 用一個(gè)worker線程本地運(yùn)行Spark |
local[K] | 用k個(gè)worker線程本地運(yùn)行Spark(理想情況下,設(shè)置這個(gè)值為你的機(jī)器的核數(shù)) |
local[*] | 用盡可能多的worker線程本地運(yùn)行Spark |
spark://HOST:PORT | 連接到給定的Spark獨(dú)立部署集群master。端口必須是master配置的端口,默認(rèn)是7077 |
mesos://HOST:PORT | 連接到給定的mesos集群 |
yarn-client | 以client 模式連接到Y(jié)arn集群。群集位置將基于通過HADOOP_CONF_DIR變量找到 |
yarn-cluster | 以cluster 模式連接到Y(jié)arn集群。群集位置將基于通過HADOOP_CONF_DIR變量找到 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: