yarn-client|cluster

    xiaoxiao2022-07-14  156

    一、yarn-client任务提交方式 1.任务提交方式

    ./spark-submit --master yarn --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100 ./spark-submit --master yarn --deploy-mode client --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100 ./spark-submit --master yarn-client --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

    2.执行流程图 3.任务执行流程

    3.1 NodeManager向ResourceManager汇报资源,ResourceManager掌握NodeManager的资源 3.2 客户端提交任务application,并启动Driver 3.3 Driver向ResourceManager申请启动ApplicationMaster 3.4 ResourceManager随机在集群中选取一台NodeManager开启ApplicationMaster 3.5 ApplicationMaster开启后,会向ResourceManager申请一批Container(容器资源),用于启动Executor, 3.6 ResourceManager向ApplicationMaster返回一批NodeManager 3.7 ApplicationMaster去返回的NodeManager上启动Executor,在启动完成后,Executor向Driver反向注册。 3.8 Driver向Executor发送task,Executor将task的运行状况、运行结果发送给Driver

    4.注意

    和Standalone一样,Driver在客户端,如果提交的任务过多,会导致网卡流量激增,出现问题

    ApplicationMaster的作用:

    1.为Application申请资源 2.向NodeManager发送消息,启动executor

    二、yarn-cluster 1.任务提交方式

    ./spark-submit --master yarn --deploy-mode cluster --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100 ./spark-submit --master yarn-cluster--class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

    2.任务执行流程图 3.任务执行流程

    3.1 客户端提交application任务 3.2 向ResourceManager请求启动ApplicationMaster 3.3 ResourceManager随机选取一台NodeManager启动ApplicationMaster(相当于是Driver) 3.4 ApplicationMaster向ResourceManager申请Container,用于启动executor 3.5 ApplicationMaster向申请的NodeManager发送命令,启动executor 3.6 executor反向注册到Driver上 3.7 Driver向executor发送task 3.8 executor向Driver返回task执行情况以及执行结果

    4.注意: Driver会在集群中的节点上随机启动,这样单节点网卡流量激增的风险解决,但是,这时无法在客户端看到任务执行流程。只能通过yarn日志查看

    最新回复(0)