017 Spark的运行模式(yarn模式)

1.关于mapreduce on yarn 来提交job的流程

  yarn=resourcemanager(RM)+nodemanager(NM)

  client向RM提交任务

  RM向NM分配applicationMaster(AM),并找到有一个容器,生成一个MR app mstr

  MR app mstr向RM申请资源  

  在NM容器中找到MR app mstr,启动开来

  MR app mstr监控和调度TASK的运行

  MR app mstr向RM提交信息

2.配置

  将Hadoop的配置文件添加到Spark的classpath中,即配置spark-env.sh中的HADOOP_CONF_DIR配置信息

  在前面local或者standalone已经配置过。

  

3.启动HDFS,YARN

  

4.启动Spark命令(后来经过验证,发现不需要也可以计算出结果)

  在标题上说明不需要启动spark服务,这这里说一下原因:

  因为程序在yarn框架上运行,所以需要的服务是yarn,至于spark服务,程序跑在yarn上用不到。

  所以这里的截图被删除。

  经过验证,想法完全正确。

5.测试client  

  bin/spark-submit
  --master yarn
  --deploy-mode client
  --class com.ibeifeng.bigdata.spark.core.TOPNSparkCore
  --conf "spark.ui.port=5050"
  /etc/opt/datas/logs-analyzer.jar

   

  

  

6.测试cluster   

  bin/spark-submit
  --master yarn
  --deploy-mode cluster
  --class com.ibeifeng.bigdata.spark.core.TOPNSparkCore
  --conf "spark.ui.port=5050"
  /etc/opt/datas/logs-analyzer.jar

  

  这时候,程序结果不会显示在控制台上,因为driver运行在集群上。

7.结果

  

原文地址:https://www.cnblogs.com/juncaoit/p/6392698.html