2019独角兽企业重金招聘Python工程师标准>>>

集群描述

YARN情况如下:

  • NodeManager个数为20
  • 每个Nodemanager分配内存为104G左右。
  • 每个container内存设置为4G,可生成约520个container。
  • 资源调度方式为fair scheduler。

加工数据

加工数据为1T的gzip压缩数据,解压约为3至4T数据,个数为1000个。

负载任务

任务执行情况如下:

  • 每个任务:map1000+,reduce1000+
  • 如果集群只运行单个任务,则单个计算时间可控制在10分钟左右。
  • 最多同时运行10至20个任务,每个任务可分配到使用的contianer个数为30-50个。

问题描述

问题现象

  • 大部分任务的Map剩余部分Pending
  • 任务的Reduce已经启动显示为Running
  • 集群CPU负载几乎为0

示例

如20个任务,每个任务剩余10-100个的Map在Pending状态,每个任务的Reduce获取了约25个container显示为Running状态。因此,整个集群的任务都在等待其他任务释放container,然而各自任务的Reduce占用了container却不释放,全部任务都处于等待状态。

解决思路

参数调整

将产生Map较多的任务参数mapreduce.job.reduce.slowstart.completedmaps设置为1.0。避免Map和Reduce过多的任务出现Map未执行完,Reduce任务先开始执行,过多任务并行时所需资源相互等待的窘境。这是客户端参数

不利影响

  • 当集群负载比较空闲时,少数任务中Map接近执行完毕,而Reduce任务不启动导致的container闲置,集群资源浪费。若Map任务处理数据出现不平均的情况,这种情况会更加严重。
  • 从集群资源负载监控会出现Map和Reduce任务出现两个波峰,中间出现波谷(Cpu空闲)。

转载于:https://my.oschina.net/yulongblog/blog/748578

mapreduce.job.reduce.slowstart.completedmaps相关推荐

  1. mapreduce作业reduce被大量kill掉

    之前有一段时间.我们的hadoop2.4集群压力非常大.导致提交的job出现大量的reduce被kill掉.同样的job执行时间比在hadoop0.20.203上面长了非常多.这个问题事实上是redu ...

  2. 从源码角度分析MapReduce的reduce流程

    文章目录 前言 流程图 Reduce都干了哪些事? 源码分析 1.run方法 1.1 比较器getOutputValueGroupingComparator 1.1.1 getOutputKeyCom ...

  3. 离线计算框架MapReduce

    hadoop技术内幕-深入理解YARN架构设计与实现原理-第九章笔记 MapReduce基本构成组件 ContainerAllocator:与ResourceManager进行通讯,为MapReduc ...

  4. mapreduce阶段出现pending的原因及解决

    mapreduce出现类似死锁情况 在往hbase表里通过bulkload导数据时,某个mapreduce跑了一个多小时还没跑,看yarn界面,发现map还有一小部分没跑完,没跑完的map全在pend ...

  5. Hadoop2.6.0运行mapreduce之Uber模式验证

    前言 在有些情况下,运行于Hadoop集群上的一些mapreduce作业本身的数据量并不是很大,如果此时的任务分片很多,那么为每个map任务或者reduce任务频繁创建Container,势必会增加H ...

  6. 从MapReduce的Shuffle原理 进行 生产参数调优

    文章目录 1.mapreduce的过程上图 2.map 切分输入文件 3.环形缓冲区 3.1 原理 3.2 生产调优 3.2.1 mapreduce.task.io.sort.mb(default:1 ...

  7. Hive ETL 任务调优(参数篇)

    Hive 调优-参数篇 图片来源网络,点赞 工作中常用的 hive 参数调优,整理如下. 原则: 最少数据 最少字段 最少Job数 最少读取次数 避免数据倾斜 整体最优而不是局部最优 JVM 内存 文 ...

  8. Hive ETL 优化(参数篇)

    Hive 调优-参数篇 image.png <** 工作中常用的 hive 参数调优,整理如下. 原则: 最少数据 最少字段 最少Job数 最少读取次数 避免数据倾斜 整体最优而不是局部最优 J ...

  9. 优化 Hive ETL 任务(参数篇)

    精选30+云产品,助力企业轻松上云!>>> 点击蓝色"大数据每日哔哔"关注我 加个"星标",第一时间获取大数据架构,实战经验 图片来源网络,点 ...

最新文章

  1. gparted 不能起作用的时候,用fdisk
  2. springboot七牛云---报{“error“:“download token auth failed“}错误
  3. geopy 在python中的使用
  4. 在GitHub中创建目录
  5. Linux 下查看某一个程序所使用的内存方法介绍
  6. PAT乙级(1018 锤子剪刀布)
  7. RocketMQ入门到入土(四)producer生产消息源码剖析
  8. 「leetcode」236. 二叉树的最近公共祖先:【递归与回溯】详解
  9. 【基础教程】禁忌搜索算法【005期】
  10. 数电笔记之逻辑函数卡诺图化简
  11. Python.习题六 字典与集合(下)
  12. 网络棋牌游戏成为网游主流力量
  13. 详解散度、旋度(二维、三维)
  14. 41、基于51单片机手机无线充电器系统锂电池存电系统设计
  15. hexo+github打造个人博客系列之Coding Pages去广告
  16. 使用卷积神经网络进行实时面部表情检测
  17. Ubuntu+QT+SSL+MQTT
  18. 怎么将图片内容转换成文字?这两种方法可以轻松实现
  19. python 椭圆检测_使用OpenCV和Python检测触摸/重叠圆/椭圆
  20. 你还不会ElasticsSearch分页查询?那你看这一篇就够了,快拿走吧

热门文章

  1. Memcached的定义及用法
  2. Eclipse中更改JDK版本,解决ant编译报错的问题
  3. 转:centos7 安装与使用 postgreSQL
  4. Swift 中 String 取下标及性能问题
  5. 在Linux的Eclipse下搭建Android环境
  6. 软件定义闪存存储系统关键技术
  7. 绝对炫的3D幻灯片-SLICEBOX
  8. 逆向工程、协议分析和漏洞研究
  9. 批量按照文件大小排序并修改文件名
  10. oracle取字符串长度的函数length()和hengthb()