zoukankan      html  css  js  c++  java
  • Hadoop-2.2.0中文文档—— MapReduce下一代- 可插入的 Shuffle 和 Sort

    简单介绍

    可插入的 shuffle 和 sort 功能,同意在shuffle 和 sort 逻辑中用可选择的实现类替换。这个情况的样例是:用一个不是HTTP的应用协议,如RDMA来 shuffle 从Map节点中到Reducer节点的数据。或者用自己定义的同意 Hash聚合和Limit-N查询的算法来取代sort逻辑。

    重要: 可插入的 shuffle  sort 功能是实验性的、不稳定。这意味着提供的API可能改变或破坏未来Hadoop版本号的兼容性。

    实现一个自己定义的 Shuffle 和 Sort

    一个自己定义的 shuffle 实现须要一个 org.apache.hadoop.yarn.server.nodemanager.containermanager.AuxServices.AuxiliaryService 在 NodeManagers 上执行的实现类和 org.apache.hadoop.mapred.ShuffleConsumerPlugin 在Reducer任务上执行的实现类。

    由 Hadoop 提供的默认实现能够作为參考:

    • org.apache.hadoop.mapred.ShuffleHandler
    • org.apache.hadoop.mapreduce.task.reduce.Shuffle

    一个自己定义的 sort 实现须要一个 org.apache.hadoop.mapred.MapOutputCollector 在Mapper任务上执行的实现类和(可选的,依赖于sort实现)实现类一个 org.apache.hadoop.mapred.ShuffleConsumerPlugin在Reducer任务上执行的实现类。

    由 Hadoop 提供的默认实现能够作为參考:

    • org.apache.hadoop.mapred.MapTask$MapOutputBuffer
    • org.apache.hadoop.mapreduce.task.reduce.Shuffle

    配置

    除了执行在 NodeManagers 上的辅助的服务帮助 shuffle(默认是 ShuffleHandler),全部的可插入组件执行在作业任务上。这意味着。他们在每个作业上配置。

    帮助Shuffle 的辅助服务必须在NodeManager上进行配置。

    Job 配置属性 (在每一个作业上):

    属性 默认值 说明
    mapreduce.job.reduce.shuffle.consumer.plugin.class org.apache.hadoop.mapreduce.task.reduce.Shuffle 要用的 ShuffleConsumerPlugin实现
    mapreduce.job.map.output.collector.class org.apache.hadoop.mapred.MapTask$MapOutputBuffer 要用的 MapOutputCollector实现

    这些属性也能够在 mapred-site.xml 中配置,以对全部作业改动默认值。

    NodeManager 属性配置, yarn-site.xml,全部节点上:

    属性 默认值 说明
    yarn.nodemanager.aux-services ...,mapreduce_shuffle 辅助的服务名
    yarn.nodemanager.aux-services.mapreduce_shuffle.class org.apache.hadoop.mapred.ShuffleHandler 要用的辅助的类

    重要: 假设在默认的 mapreduce_shuffle 服务之外设置一个辅助的服务,那么新的服务key 应该加入到 yarn.nodemanager.aux-services 属性中,比如 mapred.shufflex. 然后属性定义相关的类必须是 yarn.nodemanager.aux-services.mapreduce_shufflex.class.

  • 相关阅读:
    高阶函数与匿名函数
    A task in a suit and a tie:paraphrase generation with semantic augmentation解读
    利用tensorboard将数据可视化(tf1.x 和 tf2.x)
    IplImage, CvMat, Mat 的关系
    剑指OFFER之合并两个排序的链表
    整数与字符串的互相转化
    二分查找法
    集成算法
    003-决策树案例
    002-决策树构造实例
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5121393.html
Copyright © 2011-2022 走看看