美文网首页
yarn aux shuffle

yarn aux shuffle

作者: 后知不觉1 | 来源:发表于2024-03-11 10:50 被阅读0次

    aux shuffle

    aux shuffle简称ess,作用是将map 的task任务执行的逻辑交给 由yarn nodemanger单独启动的服务进行shuffle,这样能提高工作效率。因为map在发送数据后就不再占用yarn 的资源,reduce等待es sshuffle结束执行,提高任务执行效率;

    yanr aux shuffle的作用是在启动nodemanager 进程时,将配置的额外服务启动。该服务需要重写yarn 的org.apache.hadoop.yarn.server.api.AuxiliaryService类,这个类提供自定义shuffle的能力。

    优点:

    • 1,提高资源利用率,
    • 2,增加动态资源调度的弹性,避免开启了动态资源调度时,因为shuffle数据的占用,导致executor无法回收的问题,或者因为executor被回收了,造成shuffle数据被销毁,从而触发该子任务的重算流程
    • 3,减少executor内部之间网络带宽和本地带宽的占用

    spark-shuffle开启

    1. 添加包

    将spark-network-shuffle_2.11-2.2.0.jar批量添加到nodemanager节点上/opt/hadoop/share/hadoop/yarn/lib

    2.修改配置
    yarn.nodemanager.aux-services=spark_shuffle,mapreduce_shuffle
    yarn.nodemanager.aux-services.spark_shuffle.class=org.apache.spark.network.yarn.YarnShuffleService
    spark.shuffle.service.port=7337
    mapreduce.shuffle.port=xxxx;
    yarn.nodemanager.aux-services.mapreduce_shuffle.class=xxxxx;
    

    备注说明: shuffle定义的名字无关紧要,主要是端口,框架在执行shuffle时如果开启了ess 则会直接链接rpc端口拿取对应数据执行后续过程

    3. 滚动重启nodemanager
    4. 修改spark client 配置
    spark.shuffle.service.enabled   true
    spark.shuffle.service.port      7337
    

    相关文章

      网友评论

          本文标题:yarn aux shuffle

          本文链接:https://www.haomeiwen.com/subject/xgppzdtx.html