Чтобы прояснить ситуацию, совершенно не нужно указывать какой-либо диспетчер кластеров при запуске spark в любом режиме (client
или cluster
или если вы запускаете spark в режиме local
). Диспетчер кластеров существует только для того, чтобы сделать распределение ресурсов более простым и независимым, но вы всегда можете использовать один из них или нет.
Команда spark-submit
не требует наличия диспетчера кластера.
Различные способы использования команды:
1) local
режим:
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[8] \
/path/to/examples.jar \
100
2) client
режим без менеджера ресурсов (также известный как Искровой автономный режим ):
./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) cluster
Режим с искровым автономным режимом:
./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
4) Клиент / Кластерный режим с менеджер ресурсов:
./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
Как вы можете видеть выше, spark-submit. sh будет вести себя одинаково независимо от того, есть менеджер кластера или нет. Также, если вы хотите использовать менеджер ресурсов, такой как yarn, mesos, поведение spark-submit останется прежним. Вы можете узнать больше о spark-submit
здесь .