Spark运行模式之Yarn模式

注:使用此模式前需启动HDFS以及YARN集群

概述

Spark客户端直接连接Yarn,不需要额外构建Spark集群。有yarn-client和yarn-cluster两种模式,

主要区别在于:Driver程序的运行节点。

yarn-client:Driver程序运行在客户端,适用于交互、调试,希望立即看到app的输出

yarn-cluster:Driver程序运行在由RM(ResourceManager)启动的AP(APPMaster)适用于生产环境。

 

yarn运行模式介绍:

Spark运行模式之Yarn模式_第1张图片

 

安装使用

1)修改hadoop配置文件yarn-site.xml,添加如下内容:

[atguigu@hadoop102 hadoop]$ vi yarn-site.xml

       

       

                yarn.nodemanager.pmem-check-enabled

                false

       

       

       

                yarn.nodemanager.vmem-check-enabled

                false

       

2)修改spark-env.sh,添加如下配置:

[atguigu@hadoop102 conf]$ vi spark-env.sh

      YARN_CONF_DIR=/opt/module/hadoop-2.7.2/etc/hadoop

3)分发配置文件

     [atguigu@hadoop102 conf]$ xsync /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml

      [atguigu@hadoop102 conf]$ xsync spark-env.sh

4)执行一个程序   

[atguigu@hadoop102 spark]$

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

注意:在提交任务之前需启动HDFS以及YARN集群。

 

日志查看

1)修改配置文件spark-defaults.conf

添加如下内容:

      spark.yarn.historyServer.address=hadoop102:18080

      spark.history.ui.port=18080

     spark.eventLog.enabled=true
     spark.history.fs.logDirectory=hdfs://hadoop102:9000/directory 

2)重启spark历史服务

   [atguigu@hadoop102 spark]$ sbin/stop-history-server.sh

        stopping org.apache.spark.deploy.history.HistoryServer

   [atguigu@hadoop102 spark]$ sbin/start-history-server.sh

       starting org.apache.spark.deploy.history.HistoryServer, logging to /opt/module/spark/logs/spark-atguigu-             org.apache.spark.deploy.history.HistoryServer-1-hadoop102.out

3)提交任务到Yarn执行   

[atguigu@hadoop102 spark]$

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

4)Web页面查看日志

 

Spark运行模式之Yarn模式_第2张图片

Spark运行模式之Yarn模式_第3张图片

你可能感兴趣的:(Spark)