博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.28 MapReduce在实际应用中常见的优化
阅读量:4879 次
发布时间:2019-06-11

本文共 1751 字,大约阅读时间需要 5 分钟。

一、优化的点

  • Reduce Task Number
  • Map Task输出压缩
  • Shuffle Phase 参数
  • map、reduce分配的虚拟CPU

 

二、Reduce Task Number

Reduce Task 默认是一个;

Reduce Task的数目也不是越多越好,实际中需要测试调整,以调整到最优的个数, 如下;

job.setNumReduceTasks(2);

 

三、Map Task输出压缩

上一节已经讲到了;

 

四、Shuffle Phase 参数

具体可参考:mapred-default.xml

可调的有如下几点:

mapreduce.task.io.sort.factor:

mapreduce.task.io.sort.factor
10
The number of streams to merge at once while sorting files. This determines the number of open file handles.

 

mapreduce.task.io.sort.mb:

mapreduce.task.io.sort.mb
100
The total amount of buffer memory to use while sorting files, in megabytes. By default, gives each merge stream 1MB, which should minimize seeks.

 

mapreduce.map.sort.spill.percent:

mapreduce.map.sort.spill.percent
0.80
The soft limit in the serialization buffer. Once reached, a thread will begin to spill the contents to disk in the background. Note that collection will not block if this threshold is exceeded while a spill is already in progress, so spills may be larger than this threshold when it is set to less than .5

 

五、map、reduce分配的虚拟CPU

默认都是一个虚拟CPU,实际中也可以调整;

1、map

mapreduce.map.cpu.vcores:

mapreduce.map.cpu.vcores
1
The number of virtual cores required for each map task.

 

2、reduce

mapreduce.reduce.cpu.vcores:

mapreduce.reduce.cpu.vcores
1
The number of virtual cores required for each reduce task.

转载于:https://www.cnblogs.com/weiyiming007/p/10717143.html

你可能感兴趣的文章
Gym 100507H - Pair: normal and paranormal
查看>>
在ASP.NET中弹出对话框
查看>>
转: 关于Linux与JVM的内存关系分析
查看>>
查看程序设计语言排行榜的网站
查看>>
转: 数据的原理性文章
查看>>
清除浮动的方法
查看>>
Logstash连接Elasticsearch异常
查看>>
洛谷P4287 [SHOI2011]双倍回文(回文自动机)
查看>>
P5161 WD与数列(后缀自动机+线段树合并)
查看>>
最近想听听英语,看到一些网站还不错
查看>>
web UI自动化测试浏览器的选择
查看>>
第10章 SportsStorePeta 管理
查看>>
Zabbix服务网页报错汇总
查看>>
用户交互程序,格式化输出
查看>>
GNOME的发展与对比
查看>>
SPOJ PT07X Vertex Cover
查看>>
$ python-json模块的基本用法
查看>>
5.6.3.4 trim()方法
查看>>
Cookie、Session和自定义分页
查看>>
SQL演练
查看>>