源地址:http://www.infoq.com/cn/presentations/maruyue-ls-data-processing

在百度技术沙龙第2期(5月15日)的活动上,我们邀请到了百度分布式高级工程师马如悦以及FreeWheel的核心系统技术总监王迪分别分享了关于分布式以及服务扩展两个话题,本文将对他们的演讲内容进行一下简单的总结,并为大家提供了演示文档的下载。

为Hadoop的发展贡献自己的力量

在马如悦的演讲中,他主要介绍了百度的大规模数据存储、数据分析以及数据索引,主要包括以下内容点:

  • 大规模数据存储

    • Lustre和HDFS
    • 系统结构
    • HDFS优势、不足
  • 大规模数据分析
    • MPI和MapReduce
    • MapReduce概念模型、实现模型
    • MapReduce-Hadoop实现
  • 大规模数据索引
    • MySQL和HBase对比
    • HBase详解
  • 在以上三方面百度遇到的问题、对策和原则

其中,马如悦提到,百度现在要处理的数据量非常庞大:存储20PB+数据,每日新增数据10TB+,每天处理的数据1PB+,每天提交10K+次作业。现在使用的文件系统是HDFS,数据存储是HBase,有超过2K台服务器节点,每个节点为2*4 core。现在遇到的一个棘手问题便是namenode的瓶颈问题:因为要存储大量的(小)文件,使namenode的压力非常大,他们刚刚采购了48GB的内存,但是这48GB的内存,预计只能坚持到今年年底,到时候,可能会采购96GB的内存来紧急应对这个问题。所以百度在namenode的分布式方面,进行了很多研究。马如悦建议大家:

如果对这方面感兴趣的话,可以参考Linux 2.6.34中的Ceph文件系统,它就是一个基于PB规模的分布式文件系统。

最后,马如悦提到了百度目前正在重点研究/解决的几个问题/方向,他建议如果大家想对Hadoop做出一些成绩的话,这几个方向也是现在的热点:

  • HDFS namenode的分布式改进
  • HDFS datanode的读写异步化
  • MapReduce的jobtracker的分布式改进
  • MapReduce的新作业和任务调度器
  • MapReduce的Hadoop C++扩展框架

有读者对Hadoop C++的扩展非常感兴趣,马如悦对此阐述了一下百度Hadoop的使用方式:

我们会定期在Hadoop的官方版本上找到一个稳定版本,然后进行自定义开发。过一段时间,当我们发现官方的版本如果增加了很多新增加的功能,比我们好很多,我们再开一个新的分支,把我们的功能移上去。我们的工程师在开发Hadoop的C++扩展,我们大概是在0.19版分出来的,至今我们发现chunk版本仍然跑不过百度自己的版本,所以我们不会去做移植。HCE在我们的版本上开发的,所以如果转移到chunk上,会有些难度,需要做一些调整,这会花费一些时间。上周我们工程师刚完成了一个版本,马上就可以为大家贡献出一个链接去试用。

以数据驱动为中心

王迪是FreeWheel核心系统的技术总监,从07年FreeWheel创立起,他全程参与到其广告核心系统的架构设计,也见证了FreeWheel从最初的的只有20台广告服务器、日均几十万的访问量、不到1G/天的日志量,发展到现在拥有60台广告服务器、日均广告请求5000万次、日志处理服务器8台、日均4小时处理日志200G这么一个规模。3年之间,流量增长20倍。他主要谈到了以下的一些经验和原则:

  • 应用服务扩展

    • 无状态应用服务
    • 复制与多层次Cache
  • 数据仓库扩展
    • De-normalization/Pivot
    • Roll up/Data Availability
    • Benchmarking与查询优化
    • Split-Loading/Sharding
  • 运营原则
    • 50%运行负载上限 & N+1 Data Center
    • 监控和响应
    • 多阶段部署

很多具体的实践方法,都是针对他们具体的商业模式以及实际工作中摸索出来的,它不一定是“最好”的,但却是最适合的,比如对系统的负载当达到50%的时候,就是一个优化和扩容的信号了;再比如,以自动化回归测试为核心,但并未使用TDD单元测试,等等等等。

在提问环节,有读者对如何在回归测试中组织测试用例很感兴趣,王迪解释到:

比如我们有700个测试用例,需要QA做一些数据,可以用SQL文件的方式存在本地,然后把请求和预期也同样以文件的方式存在本地,然后在框架运行的时候,把它们载入到数据库当中,然后再服务结束后,再从数据库中取出来。

百度技术沙龙(第2期)- 1. 百度大规模数据处理(转载)相关推荐

  1. infoQ 百度技术沙龙第25期回顾:海量数据处理技术解析

    百度技术沙龙第25期回顾:海量数据处理技术解析(含资料下载) 作者 贾国清 发布于 2012年4月8日 领域  运维 & 基础架构,  架构 & 设计,  语言 & 开发  主 ...

  2. php百度优化,百度技术沙龙第 24 期 PHP 性能优化实践

    本文作者:HelloDeveloper 在 3 月 10 日由 @百度主办.@InfoQ 策划组织和实施的第 24 期百度技术沙龙活动上,来自百度 PHP 高级顾问,PHP 语言开发组成员惠新宸(@l ...

  3. 百度技术沙龙第33期回顾:推荐引擎实战(含资料下载)

    在12月22日由@百度主办.@InfoQ负责策划组织和实施的第33期百度技术沙龙活动上,来自百度推荐与个性化部高级架构师陈天健和豆瓣网首席科学家王守崑分别分享了各自在推荐系统中的经验与实践,话题涉及& ...

  4. 第十四期百度技术沙龙:探讨大型互联网产品的运维实践

    导读:互联网发展至今,搜索.社交.视频.娱乐.电子商务等层出不穷的应用,极大地丰富并影响着人类社会的运作模式.但随着人们对互联网依赖度的提高,以及用户规模呈几何级数增长,所产生的庞大数据流和海量计算要 ...

  5. 百度技术沙龙(第2期)- 2. 互联网应用服务扩展的一点经验(转载)

    源地址:http://www.infoq.com/cn/presentations/maruyue-ls-data-processing 在百度技术沙龙第2期(5月15日)的活动上,我们邀请到了百度分 ...

  6. 【20110115 InfoQ 百度技术沙龙 2010 第 10 期】会议记录

    20100115 参加了InfoQ 百度技术沙龙第 10 期活动,去的较晚,只参与了后半段,对所听到的.参与的要点记录如下. 一.百度技术沙龙 2011 总结及 2011 展望 这部分数据主要是通过百 ...

  7. 广而告之:持续交付的魅力——百度技术沙龙,2011年7月23日下午,北京京仪大酒店

    百度技术沙龙 演讲主题:持续交付的魅力--百度持续集成实践经验分享 演讲简介: 百度从2009年引入敏捷,并结合自身情况,从项目管理.需求管理为起点.随着业务的发展,对研发效率的更高要求,自2010年 ...

  8. 直播预告 | 百度技术沙龙——百度大数据系统探索研究及应用实践

    8月25日,数据派THU联合百度技术沙龙将为大家带来"百度大数据系统探索研究及应用实践"的专题分享. 百度多年来积累了非常丰富的大数据系统研究开发.应用实践的经验:为Apache ...

  9. 百度技术沙龙:探秘百度移动应用质量管理与数据分析

    百度技术沙龙邀请百度MTC高级产品经理张晓晓.百度MTC首席测试云解决方案专家李明.百度高级测试开发工程师洪志远.大数据部高级产品经理夏艾萱.大数据部高级产品经理梁殊疑五位讲师聚焦移动应用" ...

最新文章

  1. ATS插件中配置文件自动更新思路
  2. 我潜入清华神秘实验室,用脑机接口写了两句诗
  3. python这么多包、怎么记住_学Python的人这么多 有哪些技巧可言
  4. 虚拟机无法开机数据恢复 (建议在做之前做测试,数据双重备份)
  5. 侣信即时通讯系统的技术解析
  6. 配置文件中的数据库连接串加密了,你以为我就挖不出来吗?
  7. [转载] python中全局变量和局部变量解析
  8. 计算机视觉CV中RANSAN算法的学习笔记
  9. 解析Excel2007之关键点_Sheet.xml(一)
  10. 手动为容器设置ip地址
  11. mysql 日期 明天_mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间...
  12. 【自动化测试工具】QTP/UFT入门
  13. 三分钟了解Activity工作流
  14. 嵌入式软件工程师就只需会写C代码吗
  15. 时间序列学习(4):平稳性检验(单位根检验、ADF检验)
  16. SQLyog数据库:主键外键代码添加
  17. 佐治亚理工计算机科学,佐治亚理工学院计算机科学面试经验汇总
  18. 使用latex做IEEE ACCESS排版时候,解决模板作者信息之间的距离问题。
  19. MATLAB中删除矩阵的某些列或某些行
  20. h3c交换机绑定在线计算机的命令,H3C 3100交换机怎么IP绑定MAC

热门文章

  1. 空间刚架matlab_2016基本平面刚架各种荷载MATLAB程序
  2. Internet Explorer已对此页面进行了修改,以帮助阻止跨站脚本解决
  3. 不懂TDK优化?一文教你学会如何做TDK优化
  4. Matlab实现最小二乘法拟合曲线
  5. 2022-2027年中国高温合金焊接材料行业市场全景评估及发展战略规划报告
  6. 旅游线路模糊查询功能
  7. 【Tools】PolyWorks Metrology Suite 2020中文版安装教程详解(在线版)
  8. 笔记本内存条的选择指南
  9. 内存管理之内存管理的概念
  10. jquery fileupload 判断上传文件的类型