27_spark五—yarn

本文详细介绍了Spark运行在YARN上的原理,包括yarn-cluster和yarn-client两种模式的特性与区别。同时,深入剖析了Spark的collect算子操作、资源参数设置(executor-memory和total-executor-cores)以及shuffle机制,特别是HashShuffle和SortShuffle的运作过程。文章还讨论了Spark任务调度模式和资源分配策略,为优化Spark程序提供了指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spark内存计算框架

  • 1、spark on yarn 原理和机制(★★★★★)

    • yarn-client
    • yarn-cluster
  • 2、collect算子操作作用

    • 第一点
      • 它是一个action触发任务的真正运行
    • 第二点
      • 它会把rdd的数据进行收集之后,以数组的形式返回给Driver端
  • 3、spark中计算资源的参数说明(★★★★★)

    • –executor-memory
    • –total-executor-cores
  • 4、spark的shuffle原理分析(★★★★★)

    • HashShuffle
      • 普通的hashShuffle
      • 合并机制的hashShuffle
        • 重复利用buffer缓冲区,减少生成的磁盘文件个数
    • sort Shuffle
      • 普通的sortShuffle
        • 后期会进行数据的排序,并且一个task生成一个磁盘文件和一个索引文件
      • bypass模式的sortShuffle
        • 这里可以通过参数去控制是否需要排序。
        • spark.shuffle.sort.bypassMergeThreshold<=200

1. spark on yarn

  • 可以把spark程序提交到yarn中去运行,此时spark任务所需要的计算资源由yarn中的老大ResourceManager去分配
  • 官网资料地址
  • 环境准备
    • 1、安装hadoop集群
    • 2、安装spark环境
      • 注意这里不需要安装spark集群
        • 只需要解压spark安装包到任意一台服务器
          • 修改文件 spark-env.sh
#指定java的环境变量
export JAVA_HOME=/kkb/install/jdk1.8.0_141
#指定hadoop的配置文件目录
export HADOOP_CONF_DIR=/kkb/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop
  • 按照Spark应用程序中的driver分布方式不同,Spark on YARN有两种模式:
    • yarn-client模式、yarn-cluster模式
1.1 yarn-cluster模式
  • yarn-cluster模式下提交任务示例
spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 1g \
--executor-memory 1g \
--executor-cores 1 \
/kkb/install/spark/examples/jars/spark-examples_2.11-2.3.3.jar \
10  

10是main方法里面的参数

  • 如果运行出现错误,可能是虚拟内存不足,可以添加参数

    • vim yarn-site.xml
    <!--容器是否会执行物理内存限制默认为True-->
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值