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.ShuffleHandlerorg.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$MapOutputBufferorg.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.
Hadoop-2.2.0中文文档—— MapReduce下一代- 可插入的 Shuffle 和 Sort的更多相关文章
- Hadoop-2.2.0中文文档—— MapReduce 下一代 - Encrypted Shuffle
简单介绍 Encrypted Shuffle capability (加密洗牌功能? )同意用HTTPS 和 可选的client验证 (也称作双向的 HTTPS, 或有client证书的 HTTPS) ...
- Hadoop-2.2.0中文文档——MapReduce 下一代 -——集群配置
目的 这份文档描写叙述了怎样安装.配置和管理从几个节点到有数千个节点的Hadoop集群. 玩的话,你可能想先在单机上安装.(看单节点配置). 准备 从Apache镜像上下载一个Hadoop的稳定版本号 ...
- Hadoop-2.2.0中文文档—— MapReduce 下一代--容量调度器
目的 这份文档描写叙述 CapacityScheduler,一个为Hadoop能同意多用户安全地共享一个大集群的插件式调度器,如他们的应用能适时被分配限制的容量. 概述 CapacitySchedul ...
- Hadoop-2.2.0中国文档—— MapReduce 下一代 -- 公平调度
目的 此文档描写叙述了 FairScheduler, Hadoop 的一个可插入式的调度器,同意 YARN 应用在一个大集群中公平地共享资源. 简单介绍 公平调度是一种分配资源给应用的方法.以致到最后 ...
- Apache Spark 2.2.0 中文文档
Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...
- Apache Storm 1.1.0 中文文档 | ApacheCN
前言 Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ...
- Django2.0中文文档
title: Django2.0中文文档 tags: Python,Django,入沐三分 grammar_cjkRuby: true --- Django2.0版本已经发布了,我们先来看一个图片 从 ...
- webpack4.0中文文档踩坑记录
一直没有正儿八经去看过webpack4.0的文档,前段时间工作比较轻松,于是就有了此文...面都这样一个问题:请问在您的开发生涯中,令你最痛苦最无奈的是什么?小生的回答只有一个:“阅读那些令人发指的文 ...
- Apache Spark 2.2.0 中文文档 - Spark 编程指南 | ApacheCN
Spark 编程指南 概述 Spark 依赖 初始化 Spark 使用 Shell 弹性分布式数据集 (RDDs) 并行集合 外部 Datasets(数据集) RDD 操作 基础 传递 Functio ...
随机推荐
- ruby on rails创建的页面訪问很慢
ruby on rails创建的页面訪问很慢 用rvm安装的ruby1.9.3 解决:cd ~/.rvm/rubies/ruby-1.9.3-p547/lib/ruby/1.9.1/webrick v ...
- 表达式树动态拼接lambda
动态拼接lambda表达式树 前言 最近在优化同事写的代码(我们的框架用的是dapperLambda),其中有一个这样很普通的场景——界面上提供了一些查询条件框供用户来进行过滤数据.由于dappe ...
- Merging a WPF application into a single EXE(WPF应用程序合并成单个Exe文件)
I always dislike handing off little applications to people. Not because I can’t, but because of the ...
- Java I/O— 梳理各种“流”
背景 Java核心库java.io它提供了一个综合IO接口.包含:文件读写.标准装备输出等..Java在IO它是流为基础进行输入输出的.全部数据被串行化写入输出流,或者从输入流读入. -- 百度百科 ...
- 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...
- Windows下安装MySQLdb, Python操作MySQL数据库的增删改查
这里的前提是windows上已经安装了MySQL数据库,且配置完成,能正常建表能操作. 在此基础上仅仅需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了.仅仅有1M ...
- 网络安全审查制度即将推出 手机App安全加密成必定趋势
年05月22日宣布,为维护国家网络安全.保障中国用户合法利益,中国即将推出网络安全审查制度,关系国家安全和公共利益的系统使用的.重要信息技术产品和服务,应通过网络安全审查.文章出处:*** 网络安全审 ...
- xcode中找不到XXX.dylib
xcode中找不到 XXX.dylib 了,比如libz.tbd 如果要用到 libz.dylib,可以用下面的办法,来自 Stack Overflow. Go to Build Phases > ...
- fiddler4使用教程(转)
Fiddler的基本介绍 Fiddler的官方网站: www.fiddler2.com Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料. Fiddler是最 ...
- (转)Python获取当时时间
我有的时候写程序要用到当前时间,我就想用python去取当前的时间,虽然不是很难,但是老是忘记,用一次丢一次, 为了能够更好的记住,我今天特意写下python 当前时间这篇文章,如果你觉的对你有用的话 ...