为了明确起见,在任何模式下运行spark时,绝对不需要指定任何集群管理器(
client
cluster
或者你是否参加了
local
模式)。集群管理器只是为了使资源分配更简单和独立,但您始终可以选择是否使用它。
这个
spark-submit
命令不需要存在群集管理器即可运行。
使用该命令的不同方式有:
1)
模式:
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[8] \
/path/to/examples.jar \
100
2)
没有资源管理器的模式(也称为
spark standalone 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
3)
集群
带spark独立模式的模式:
./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
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \ # can be client for client mode
--executor-memory 20G \
--num-executors 50 \
/path/to/examples.jar \
1000
正如你在上面看到的,火花-提交.sh无论是否有群集管理器,其行为都是相同的。另外,如果您想使用像yarn、mesos这样的资源管理器,spark submit的行为将保持不变。
spark提交
here
.