spark学习记录(五、Spark基于资源调度管理器的提交模式)

一、Standalone(Spark自带)

1.1 Standalone-client模式

 提交命令:

./spark-submit --master spark://hadoop1:7077 --class org.apache.spark.examples.SparkPi /usr/local/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar

过程:

Standalone-client模式提交任务,会在客户端看到task的执行情况和结果。当在客户端提交多个Application时,每个Application都会启动自己的Driver,Driver与集群worker有大量的通信,会造成客户端网卡流量激增问题。这种模式适用于程序测试,不适用于生产。

1.2 Standalone-cluster模式

提交命令:

./spark-submit --master spark://hadoop1:7077 --deploy-mode cluster --class org.apache.spark.examples.SparkPi /usr/local/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar

过程:

Standalone-cluster模式提交任务,Driver会在集群中随机一台worker上启动,如果提交多个application,那么每个application的Driver会分散到集群的Worker节点,相当于将client模式的客户端网卡流量激增问题分散到集群中。适用于生产环境。

二、Yarn

2.1 Yarn-client模式

在spark客户conf下的spark-env.xml文件下配置

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

提交命令:

./spark-submit --master yarn --class org.apache.spark.examples.SparkPi /usr/local/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar

过程:

 yarn-client模式提交任务,Driver在客户端启动,当提交多个Application时,每个Application的Driver都会在客户端启动,也有网卡流量激增问题。这种模式适用于程序测试,不适用于生产环境。在客户端可以看到任务的执行和结果。

2.2 yarn-cluster模式

命令:

./spark-submit --master yarn --deploy-mode cluster --class org.apache.spark.examples.SparkPi /usr/local/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar

过程:

yarn-cluster模式提交任务,适用于生产环境,AM(Driver)随即在一台NM节点启动,当提交多个Application时,每个Application的Driver会分散到集群的NM中启动,相当于将Yarn-client模式的客户端网卡流量激增问题分散到集群中。在客户端看不到task执行情况和结果,要到webui中查看。

猜你喜欢

转载自blog.csdn.net/qq_33283652/article/details/85597464