Spark Core:第二章 执行spark程序

本文详细介绍了Spark的运行模式,包括local、standalone(standalone-client和standalone-cluster)、On YARN(yarn-client和yarn-cluster)以及On Mesos。在standalone-cluster模式下,Driver在集群中启动,适合生产环境。同时,文章讨论了Spark程序的组成部分,如Driver和ApplicationMaster的角色,以及资源和任务调度的原理。最后,提到了资源申请的粗粒度和细粒度策略及其优缺点。
摘要由CSDN通过智能技术生成

Spark Core:第二章 执行spark程序



—>Spark知识点总结导航<—


一、运行模式

1. local

  • master和worker在同一台机器

    (1) spark运行基本流程(本地运行)

   ① 创建val conf = new SpakrConf().setMaster(“xxx”).setAppName(“xxx”)

   ② 创建SparkContext val sc = new SparkContext(conf)

   ③ 得到RDD val rdd = sc.textFile…

   ④ 对得到的RDD使用Transformation类算子进行数据转换

   ⑤ 要使用Action算子对Transformation类算子触发执行

   ⑥ sc.stop()

  (2) spark上执行

   本地模式:不需要启动Hadoop集群,只要有一台机器安装了JDK、Scala、spark即可运行

	/home/duck/software/spark/bin/spark-submit \
	--class org.apache.spark.examples.SparkPi  \
	--master spark://Cloud01:7077 \
	--executor-memory 1G \
	--total-executor-cores 2 \
	/home/duck/software/spark/examples/jars/spark-examples_2.11-2.1.1.jar \

在这里插入图片描述

2. standalone

  • 需要启动Hadoop集群和spark集群
(1) standalone-client

  a. 执行原理:
在这里插入图片描述
   ① worker向master汇报

   ② master掌握集群资源

   ③ 客户端:在客户端提交任务,Driver会在客户端启动

   ④ Driver向master申请资源

   ⑤ master在worker上找到满足资源的节点

   ⑥ Driver向worker发送task,监控task,并回收结果

  b. 执行命令、结果

	./spark-submit \
	--class org.apache.spark.examples.SparkPi  \
	--master spark://Cloud01:7077 \
	--deploy-mode client \
	--executor-memory 1G \
	--total-executor-cores 2 \
	~/software/spark/examples/jars/spark-examples_2.11-2.1.1.jar 5

在这里插入图片描述在这里插入图片描述

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

(2) standalone-cluster

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值