spark-submit.sh如何在不同的模式和不同的集群管理器中工作



在Apache Spark中,Spark-submit.sh如何在不同的模式和不同的集群管理器中工作?具体而言:

在本地部署模式下,

  • spark-submit.sh是否跳过调用任何集群管理器
  • 不需要在本地计算机上安装群集管理器,这正确吗

在客户端或集群部署模式下,

  • spark-submit.sh是否与不同的集群管理器(spark standalone、YARN、Mesos、Kubernetes(一起工作?不同的集群管理器是否有不同的接口,spark-submit.sh必须以不同的方式调用它们?

  • 除了--master之外,spark-submit.sh在程序员看来是同一个界面吗?spark-submit.sh的选项--master用于指定集群管理器。

谢谢。

为了清楚起见,在任何模式(clientcluster,或者是否在local模式下运行spark(下运行时,绝对不需要指定任何集群管理器。集群管理器只是为了使资源分配更容易和独立,但使用与否始终是您的选择。

spark-submit命令不需要存在群集管理器即可运行。

使用命令的不同方式有:

1(local模式:

./bin/spark-submit 
--class org.apache.spark.examples.SparkPi 
--master local[8] 
/path/to/examples.jar 
100

2( 没有资源管理器的client模式(也称为spark独立模式(:

./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的信息。

最新更新