Hadoop参数性能调优(二)--Map and Reduce tasks 数量

Hive中map与reduce数量控制 1. 控制hive任务中的map数和reduce数 map数量 1.多少map数量合适: 遵循两个原则: 使大数据量利用合适的map数;使单个map任务处理合适的数据量; 2.主要决定因素: hdfs block-- input的文件总个数,input的文件大小,集群设置的文件块大小(默认128M) InputFormat在默认情况下会根据hadoop集群的DFS块大小进行分 片,每一个分片会由一个map任务来进行处理,当然用户还是可以通过参数mapred.min.split.size参数在作业提交客户端 阅读详情

       Hadoop wiki(http://wiki.apache.org/hadoop/HowManyMapsAndReduces)对这个问题有较详细的解释,大致有以下几个观点:

 

  • 增加task的数量,一方面增加了系统的开销,另一方面增加了负载平衡和减小了任务失败的代价;
  • map task的数量即mapred.map.tasks的参数值,用户不能直接设置这个参数。Input Split的大小,决定了一个Job拥有多少个map。默认input split的大小是64M(与dfs.block.size的默认值相同)。然而,如果输入的数据量巨大,那么默认的64M的block会有几万甚至几十万的Map Task,集群的网络传输会很大,最严重的是给Job Tracker的调度、队列、内存都会带来很大压力。mapred.min.split.size这个配置项决定了每个 Input Split的最小值,用户可以修改这个参数,从而改变map task的数量。
  • 一个恰当的map并行度是大约每个节点10-100个map,且最好每个map的执行时间至少一分钟。
  •  reduce task的数量由mapred.reduce.tasks这个参数设定,默认值是1。
  • 合适的reduce task数量是0.95或者1.75*(nodes * mapred.tasktracker.reduce.tasks.maximum), 其中,mapred.tasktracker.tasks.reduce.maximum的数量一般设置为各节点cpu core数量,即能同时计算的slot数量。对于0.95,当map结束时,所有的reduce能够立即启动;对于1.75,较快的节点结束第一轮reduce后,可以开始第二轮的reduce任务,从而提高负载均衡。
hadoop 性能调优 重要参数设置技巧 这里主要针对Mapreduce的性能调优。 这一两个月在做mapreduce的性能调优,有些心得,还是要记下来的,以郷后人~ 这里主要涉及的参数包括: HDFS: dfs.block.size Mapredure: io.sort.mb io.sort.spill.percent mapred.local.dir mapred.map.tasks & mapred 阅读详情

相关推荐

【Hive】MapRedTask报错处理记录

实例1: 场景:跑日分区表3年历史数据,SQL为日数据 left join 基本信息的结构。 问题: stage-1的reduce跑不动 暴力解决方案,直接把reduce tasks的数调大 set mapred.reduce.tasks=1000; --可多试几个数值 ...

喜东东的博客 2374

MapReduce任务参数调优

MapReduce任务参数调优 本文主要记录Hadoop 2.x版本中MapReduce参数调优,不涉及Yarn的调优。 Hadoop的默认配置文件(以cdh5.0.1为例): core-default.xml hdfs-default.xml mapred-default.xml 说明: 在hadoop2中有些参数名称过时了,例如原来的mapred.reduc...

freespace 667

Hadoop性能调优(二)--Map and Reduce tasks 数量

Map and Reduce tasks 数量对性能的影响

npucloud的专栏 8256

hive调优系列—针对mapreduce进行调优

本文主要针对mapreduce的配置对hive进行调优。更多配置可查看hive官网。

eli的博客 1818

Hadoop性能调优总结(一)

目的 随着企业要处理的数据量越来越大,Hadoop运行在越来越多的集群上,同时MapReduce由于具有高可扩展性和容错性,已经逐步广泛使用开来。因此也产生很多问题,尤其是性能方面的问题。这里从管理员角度和用户角度分别介绍Hadoop性能优化的一些体会。 本文是基于Hadoop 0.20.x(包括1x),cdh 3及以上版本做介绍。(Hadoop的版本比较杂乱,具体可以看参

chndata的专栏 2万+

TSP、MTSP问题遗传算法详细解读及python实现

写在前面 遗传算法是一种求解NPC问题的启发式算法,属于仿生进化算法族的一员。仿生进化算法是受生物行为启发而发明的智能优化算法,往往是人们发现某种生物的个体虽然行为较为简单,但生物集群通过某种原理却能表现出智能行为。于是不同的人研究不同的生物行为原理,受到启发而发明出新的仿生进化算法。比如免疫优化算法,蚁群算法,模拟退火算法等,这些算法以后也会简单介绍。 本文的主题是遗传算法,该算法也是受到生物行为启发。物竞天择,适者生存,优胜劣汰,是该优化算法的核心思想。笔者在业务中需要用到遗传算法求解TSP问题,但是网

weixin_47675950的博客 9306

TeraSort实验--测试Map和Reduce Task数量对Hadoop性能的影响

  通过Hadoop自带的Terasort排序程序,测试不同的map task和reduce task数量,对Hadoop性能的影响。   实验数据由程序中的teragen程序生成,数据量为1GB和10GB。

学术技术交流,分享生活感悟 6980

pytorch中dataloader的num_workers参数

结论速递 在Windows系统中,num_workers参数建议设为0,在Linux系统则不需担心。 1 问题描述 在之前的任务超大图上的节点表征学习中,使用PyG库用于数据加载的DataLoader,ClusterLoader等类时,会涉及到参数num_workers。在不同系统环境试验该参数的设定值时,会出现不同的结果 colab(Linux),设为12 有warning message,提示num_workers参数设置不合理,不影响继续运行 /usr/local/lib/python3.7/di

qq_40990057的博客 1万+

Hadoop 性能调优 重要参数设置技巧

这一两个月在做mapreduce的性能调优,有些心得,还是要记下来的,以郷后人~ 这里主要涉及的参数包括: HDFS:dfs.block.sizeMapredure:io.sort.mbio.sort.spill.percentmapred.local.dirmapred.map.tasks & mapred.tasktracker.map.tasks.maximummapred.re

小桥 1817

MATLAB R2022b 安装教程

1. 下载安装先放资源链接,百度网盘太贵了不想续了,换了夸克网盘。1. 下载安装。

qq_51654158的博客 2万+

YOLOv11低照度增强主干网络PE-YOLO:原理与完整实现教程

编码器部分# 解码器部分self.dec_conv2 = nn.Conv2d(512, 128, 3, padding=1) # 跳跃连接self.dec_conv3 = nn.Conv2d(256, 64, 3, padding=1) # 跳跃连接self.dec_conv4 = nn.Conv2d(128, 32, 3, padding=1) # 跳跃连接# 编码路径# 解码路径(带跳跃连接)

FJN110的博客 725

hive中控制map和reduce数量的简单实现方法

通过mapred.max.split.size等参数控制hive中的map个数进行资源控制

Dino系我的专栏 4万+

RK3568笔记十七:LVGL v8.2移植

若该文为原创文章,转载请注明原文出处。本文介绍嵌入式图形库移植到Linux开发板ATK-RK3568上的步骤。

4232

hadoop job 数量_hadoop中map和reduce的数量设置问题

map和reduce是hadoop的核心功能,hadoop正是通过多个map和reduce的并行运行来实现任务的分布式并行计算,从这个观点来看,如果将map和reduce的数量设置为1,那么用户的任务就没有并行执行,但是map和reduce的数量也不能过多,数量过多虽然可以提高任务并行度,但是太多的map和reduce也会导致整个hadoop框架因为过度的系统资源开销而使任务失败。所以用户在提交m...

weixin_39802969的博客 861

Yocto系列讲解[入门篇] 2 - 演示运行qemux86-64虚拟机

手把手教大家怎么编译Yocto,并运行一个qemux86虚拟机

fulinux的博客 1万+

【异常】Cursor导入Karpathy指南失败解决方案Failed to import GitHub/GitLab rules: Error executing git: Cloning into

摘要:本文解决了Git克隆单个文件报错的问题,指出git clone只能克隆整个仓库而非单个文件。提供了两种解决方案:1) 推荐手动创建规则文件,在Cursor项目中新建.mdc文件并粘贴Karpathy行为指南完整内容;2) 备选克隆整个仓库获取文件。指南包含编码行为规范,强调简单性、精准修改和明确目标。还说明了如何设置全局规则和即时生效的方法。

奶爸的编程之路,也就一周冷个三天 174

Hadoop Map Reduce Task默认任务数调优

mapred.tasktracker.map.tasks.maximum   官方解释:The maximum number of map tasks that will berun  simultaneously by a tasktracker.   我的理解:一个tasktracker最多可以同时运行的map任务数量   默认值:2   优化值

caodaoxi的专栏 1130

Allegro层叠中的介电常数如何填写指导说明

在用Allegro进行PCB设计的时候,需要在cross-section中设置好每个层的信息,包括层命名,每层的厚度等等信息。但是对于有仿真需求或者等长设计需要使用ps作为延时单位的设计的时候,需要额外在层叠中填写介电常数的值,如下图。按照经验值填写为2.8,因为外层和平面层不会被树脂填充,铜皮层还是完整的铜皮,如下图。对应层叠将每层介质的介电常数的数值填入到PCB中去,油墨的介电常数填4。层叠中只给出了每个介质的介电常数,铜皮的介电常数却没有给出。所以正确填写介电常数的结果如下图。需要按照下面的规则来。

weixin_54787054的博客 1392

hadoop中map和reduce的数量设置问题

原文:https://my.oschina.net/Chanthon/blog/150500 map和reduce是hadoop的核心功能,hadoop正是通过多个map和reduce的并行运行来实现任务的分布式并行计算,从这个观点来看,如果将map和reduce的数量设置为1,那么用户的任务就没有并行执行,但是map和reduce的数量也不能过多,数量过多虽然可以提高任务并行度,但是太多的

1764

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【Hadoop】中map与reduce的个数问题

在hadoop中当一个任务没有设置的时候,该任务的执行的map的个数是由任务本身的数据量决定的,具体计算方法会在下文说明;而reduce的个数hadoop是默认设置为1的。为何设置为1那,因为一个任务的输出的文件个数是由reduce的个数来决定的。一般一个任务的结果默认是输出到一个文件中,所以reduce的数目设置为1。那如果我们为了提高任务的执行速度如何对map与reduce的个数来进行调整那。

zwan0518的专栏 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Hive如何设置Map个数和Reduce个数

根据输入文件估算Reduce的个数可能未必很准确,因为Reduce的输入是Map的输出,而Map的输出可能会比输入要小,所以最准确的数根据Map的输出估算Reduce的个数。比如有一个127M的文件,正常会用一个map去完成,但这个文件只有一个或者两个小字段,却有几千万的记录,如果map处理的逻辑比较复杂,用一个map任务去做,肯定也比较耗时。从Hive的角度看,小文件会开很多map,一个map开一个JVM去执行,所以这些任务的初始化,启动,执行会浪费大量的资源,严重影响性能。...

weixin_47681855的博客 4241

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

hadoop性能调优笔记

Hadoop调优 mapred.tasktracker.map.tasks.maximum   官方解释:The maximum number of map tasks that will be run  simultaneously by a task tracker.   我的理解:一个tasktracker最多可以同时运行的map任务数量   默认值:2   优化值:map...

The Big Data Way 495

Hadoop streaming运行python程序如何设置map和reduce的个数(python)

Hadoop Streaming给许多语言(java,scala,python,C等)提供了使用Hadoop和编写Mapreduce的接口。在实际工作中,我选择python来做大数据处理,在编写mapreduce作业时,经常遇到map和reduce的个数怎么设置,因为它们的个数决定着程序运行的效率和一些其它方面的因素(例如对于一个大的数据集,如果使用一个map来处理,很容易造成该节点的内存等不足)...

Never-Giveup的博客 2703

Hadoop MapReduce Job性能调优——修改Map和Reduce个数

map task的数量即mapred.map.tasks的参数值,用户不能直接设置这个参数。Input Split的大小,决定了一个Job拥有多少个map。默认input split的大小是64M(与dfs.block.size的默认值相同)。然而,如果输入的数据量巨大,那么默认的64M的block会有几万甚至几十万的Map Task,集群的网络传输会很大,最严重的是给Job Tracker的调度

Athenaer的专栏 2577

真正让你明白Hive参数调优系列2:如何控制reduce个数与参数调优

相比map个数的控制复杂性,reduce个数的设定要相对简单多了,reduce的个数一般最后决定了输出文件的个数,二者相等,如果想多输出文件的个数(这样文件变小,但有可能程序变慢),那么可以人为增加reduce个数。如果想减少文件个数,也可以手动较少reduce个数(同样可能程序变慢)。但实际开发中,reduce的个数一般通过程序自动推定,而不人为干涉,因为人为控制的话,如果使用不当很容易造成结果...

weiha666的博客 1996
上一篇: Hadoop参数性能调优(一)--总述
下一篇: Hadoop Job Tuning
xiejava
博客等级 码龄19年 26粉丝 19原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值