todd的ppt是本次hadoop world大会上的亮点。之前知道他让hdfs随机读性能提升了2-3倍。具体他们做了哪些改进呢?这里详细记录一下原理。(都是ppt上翻译过来再加上理解的)

IO cache上的改进:1 增加了预读,避免大量随机seek,对mapreduce这样的只读一次数据的应用很有效2 去掉了write在OS层面的cache,因为对map reduce来说这是不必要的3 脏页数据立即刷新。因为mapreduce会产生大量脏页,为避免OS进行脏页刷新时的block而做的改进效果:1 cpu利用率更加平滑 2 磁盘利用率上升
mapreduce中sort的提升:1 cache提升:使用指针的前4个字节进行比较,让cpu可以cache更多的内容2 writableComparator.compareBytes让cpu的利用率不高,换用sun.misc.Unsafe中的类似方法

效果:1TB排序的速度快了20-30%
mapreduce中调度的改进1 tt的心跳3秒一次,改成了在小集群中0.3秒一次2 tt的心跳一次只接收一台机器,改成了一次接收多台机器3 对小job进行优化,对每个job结束阶段的心跳进行特殊处理,让小job提前分配

效果:小job的最小延迟缩短一倍,每秒能调度的任务提高10倍
hdfs中cpu的改进:原先消耗了30%-50%的cpu时间在checksum上1 将每次对512字节做checksum改为了64k字节2 crc32的校验算法改为了crc32c算法(该sse指令会快出10倍)

效果:随机读的响应延迟下降一倍随机读和顺序读的cpu消耗下降1-1.5倍
hdfs随机读每次要新建连接,有过多的tcp握手1 把socket缓存住,类似keepalive2 重写了BlockReader,消除一些数据拷贝3 消除了在FSDataset类上的锁争夺

效果:随机读的吞吐量提长了2.5-3倍hbase随机读的tps提升了33%
mapreduce2中shuffle的改进:1 自动修改io.sort.record.percent的值2 reducer在一个tcp连接上获取多个map的输出值3 shuffle的server用netty来重写了

效果:shuffle有30%的吞吐量提升

小结:可以看到todd对hadoop的改造非常给力。这在最新的hadoop-0.23中己经放出,hbase的trunk版本己经准备改用hdfs-0.23做为hdfs层了。

todd的hadoop world的ppt笔记相关推荐

  1. Hadoop 大数据学习笔记

    Hadoop 大数据学习笔记1 大数据部门组织架构 Hadoop Hadoop是什么 Hadoop的优势 Hadoop的组成 HDFS架构 YARN架构 MapReduce 大数据技术生态体系![在这 ...

  2. 第1讲韩顺平 PHP视频教程 zend framework zend介绍 zend快速入门 韩顺平php视频教程ppt 笔记心得

    韩顺平 PHP视频教程  zend framework  PPT笔记心得 本教程贯穿了两个软件公司常用的两个项目,数据采集系统和购物车,共分20讲从本质上深入浅出的分析了zend framework运 ...

  3. 3台云腾讯云开始hadoop学习之路笔记二

    3台云腾讯云开始hadoop学习之路笔记二(接上) 大三党开始学习hadoop之路了,菜鸟学习hadoop,有啥错误请大佬指教.由于自己电脑配置不够,只能买3台腾讯云服务器来学习了.以下笔记都是记录我 ...

  4. 【学习笔记】尚硅谷Hadoop大数据教程笔记

    本文是尚硅谷Hadoop教程的学习笔记,由于个人的需要,只致力于搞清楚Hadoop是什么,它可以解决什么问题,以及它的原理是什么.至于具体怎么安装.使用和编写代码不在我考虑的范围内. 一.Hadoop ...

  5. 大数据Spark企业级实战与Hadoop实战 | PDF PPT下载!

    今天给大家分享的是<大数据Spark企业级实战>与<Hadoop实战>等销量排行前10名的大数据技术书籍(文末领取PDF版).这些书籍具有以下几个优点:易读.实践性强,对解决工 ...

  6. Hadoop权威指南学习笔记三

    HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...

  7. Hadoop权威指南学习笔记一

    Hadoop简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出.一起学习一起进步. 转载请注明:http://blog.csdn.net/ ...

  8. Hadoop源码分析笔记(十一):数据节点--数据节点整体运行

    数据节点整体运行 数据节点通过数据节点存储和文件系统数据集,管理着保存在Linux文件系统上的数据块,通过流式接口提供数据块的读.写.替换.复制和校验信息等功能.建立在上述基础上的数据节点,还需要维护 ...

  9. Hadoop之MapReduce学习笔记(二)

    主要内容: mapreduce编程模型再解释: ob提交方式: windows->yarn windows->local : linux->local linux->yarn: ...

  10. hadoop 爬虫_hadoop学习笔记

    什么是hadoop? hadoop 是一个可编程和运行分布式应用,用来处理大数据的开源框架. Hadoop主要子项目 Hadoop Common: 在0.20及以前的版本中,包含HDFS.MapRed ...

最新文章

  1. Python Module_pdb_DEBUG 方法
  2. 通过sort()方法实现升序和降序排列
  3. 学习笔记:linuxsocket通信基础
  4. 谷歌新语言重写android,谷歌将推新设计语言 安卓APP用户界面将换新颜
  5. python程序中想使用正则表达式_python中正则表达式的使用方法
  6. sap ABAP中常用函数
  7. Android开源项目汇总
  8. 数据库本地的sa有个叉号_多个客户端(50)同时使用sa账号操作服务器数据库(sqlserver)会有问题吗?...
  9. 大数据分析系统包含哪些功能板块
  10. 谈谈python的from __future__ import absolute_import
  11. SpriteKit在iOS8和OSX10.10中的新特性(强悍来袭)
  12. STM32的延迟函数1us、1ms
  13. linux下WMB通过ODBC连接数据库
  14. Unity3D接入移动MM支付SDK(强联网)的问题
  15. 1.《如何阅读一本书》读书若谈恋爱:如何阅读一本书?
  16. HTML概述+HTML核心(HTML知识点总结)
  17. 丛林木马(数学 思维
  18. 《Linux C编程从入门到精通》一1.3 Shell的使用基础
  19. Calico 报错 calico/node is not ready: BIRD is not ready: BGP not established with(导致 K8S 集群网络无法使用)
  20. DPDK的meter库(单速率三色算法)

热门文章

  1. 三国史诗——三国官制(二)
  2. 匿名邮件爆迅雷看看丑闻
  3. java.lang.reflect.UndeclaredThrowableException
  4. Android启动页设置
  5. 用计算机研究心理,计算机使用中的自我效能感
  6. java自行车北京_JAVA公共自行车地图api调用代码实例
  7. IE被劫持的手动解除
  8. oracle获取今天是周几,根据DateTime来获取当天是周几(已完结)
  9. win10删除输入法后输入法找不到的解决方法
  10. ELK企业内部日志分析系统(elasticsearch/logstash/beats/kibana)centos7详解