MapReduce 调优

发布时间:2020-07-15 17:56:19 作者:原生zzy
来源:网络 阅读:360

1. 相关的资源参数

mapreduce.map.memory.mb: 一个maptask可以使用的资源上限,默认是1G,如果超过设置的值,会被强制杀死
mapreduce.reduce.memory.mb:一个 Reduce Task 可使用的资源上限默认是1G,如果超过设置的值,会被强制杀死
mapreduce.map.cpu.vcores:每个maptask最多的CPU core 默认是1个
mapreduce.reduce.cpu.vcores:每个reducetask最多的CPU core 默认是1个


以下参数应该在 yarn 启动之前就配置在服务器的配置文件中才能生效

yarn.scheduler.minimum-allocation-mb=1024:给应用程序 container 分配的最小内存
yarn.scheduler.maximum-allocation-mb=8192:给应用程序 container 分配的最大内存
yarn.scheduler.minimum-allocation-vcores=1:给应用程序 container 分配的最小CPU个数
yarn.scheduler.maximum-allocation-vcores=32:给应用程序 container 分配的最大CPU个数
yarn.nodemanager.resource.memory-mb=8192 :nodemanager启动任务的
mapreduce.task.io.sort.mb=100 :shuffle阶段环形缓冲区的大小
mapreduce.map.sort.spill.percent=0.8:shuffle阶段环形缓冲区的阈值

2. 相关的容错参数

mapreduce.map.maxattempts=4:每个 Map Task 最大重试次数,一旦重试参数超过该值,则认为 Map Task 运行失败
mapreduce.reduce.maxattempts=4: 每个 Reduce Task 最大重试次数,一旦重试参数超过该值,则认为 Map Task 运行失败
mapreduce.map.failures.maxpercent=0: 当失败的 Map Task 失败比例超过该值为,整个作业则失败,失败的maptask比例不能比这个值大
mapreduce.reduce.failures.maxpercent=0:当失败的 Reduce Task 失败比例超过该值为,整个作业则失败
mapreduce.task.timeout:如果一个 task 在一定时间内没有任何进入,即不会读取新的数据,也没有输出数据,则认为该 task 处于 block 状态,可能是卡住了,也许永远会卡主,为了防止因为用户程序永远block 住不退出,则强制设置了一个该超时时间(单位毫秒),默认是 300000。

3. 本地运行 mapreduce 作业

mapreduce.framework.name=local
mapreduce.jobtracker.address=local

4. 效率和稳定性相关参数

mapreduce.map.speculative:是否为 Map Task 打开推测执行机制,默认为 false
mapreduce.reduce.speculative:是否为 Reduce Task 打开推测执行机制,默认为 false
mapreduce.input.fileinputformat.split.minsize: FileInputFormat 做切片时的最小切片大小
mapreduce.input.fileinputformat.split.maxsize:FileInputFormat 做切片时的最大切片大小(切片的默认大小就等于 blocksize,即 134217728)

注意:所有的参数调试都跟根据自己的实际的业务逻辑进行调试调试的!!!!!

推荐阅读:
  1. 十六、MapReduce--调优
  2. MapReduce流程详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mapreduce 调优 ce

上一篇:Se(17)---三种等待

下一篇:solr5搭建

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》