你好,游客 登录
背景:
阅读新闻

CSDN云计算俱乐部:Hadoop技术开发与应用实践分享

[日期:2013-09-27] 来源:CSDN  作者: [字体: ]

  大数据的火爆已不容置疑,在本次hadoop技术开发与应用实践分享会上,加座、站票已经完全解决不了问题,工作人员不得不临时设立两个会场,满足更多参会人员与讲师面对面沟通的机会。

  本次CSDN云计算俱乐部邀请到了Hadoop大数据红象云腾公司创始人童小军、上海宝信高级工程师汪振平及智联招聘高级工程师李尤,对Hadoop与大数据上的实践做出了深度分享。

  童小军:Hadoop原理、适用场景及核心思想

  童小军,EasyHadop 社区创始人、原暴风影音平台研发经理;国内首位获得美国Cloudera公司Apache Hadoop开发工程师(CCDH)认证考试);中科院、工信部外聘Hadoop专家讲师;RedHadoop 红象云腾 创始人&首席架构师;多次在中国CIO年会、阿里云大会、北大CIO论坛发表大数据演讲,更是Data Wis 大数据Hadoop专家。在本次的大数据沙龙上,第一个发表了演讲。

  Hadoop使用原理

  Hadoop市场正在快速的发展,甚至在银行、电信各方面已经开始尝试。而童小军则主要从以下3个方面对Hadoop进行了剖析:

  Hadoop原理、工作原理和工作机制

  已证实及有待测试和探索的场景

  实际用例

  童小军集合了EasyHadop社区与RedHadoop(初创公司)的实践,描述了Hadoop、大数据、云计算之间的紧密联系:

  1.  诞生的新数据服务:类似百度、腾讯、阿里云等大公司,通过Hadoop这样平台构建更大的数据平台,收集数据进行分析,并通过其它方式推送出去,也就是数据服务的理念。

  2.  云计算带来竞争力:本质上其实是一种数据的开放。对比传统数据库,可以更好的进行个体分析,而Hadoop也正是做到了这一点。

  Hadoop与旧平台的对比

  大数据技术理念核心主要分为两个部分:虚拟化技术和类似Hadoop的技术。同样也是两个对立面,虚拟化更注重于将资源打造成一个大型机,而Hadoop恰恰相反,将各种资源池化。非Hadoop平台系统,均属核心的业务系统,比如代表性IOE,下面将分说两种系统的优劣:

  大型机:稳定性、源质性高,IO能力极强,可以管理较多的磁盘及数据资源,CPU数量也占优势。当然这里面,限制在于机器间传输,存储和内核需要共同带宽。机器间的相互传输导致大量磁盘IO,从而造成磁盘瓶颈,同样带宽也很成问题。同时多CPU利用差的问题也暴露无遗,总体来说IO成为整个系统的瓶颈所在。

  Hadoop:化整为零,文件被切开到不同层面,将计算移动到所在数据的节点上,通过节点实现并行化IO,因此需要挂很多层。而Map Reduce任务的数量跟CPU核数捆绑,因此CPU核数越多,Map配置就越快。通过移动计算取代移动数据,以获得更高的IO,这正是大数据存在的意义。

  在本节中,童小军以求和等例子入手,更详细剖析了MapReduce的运行机制,同时还讲解了HBase的作用和功能。

  Hadoop适用场景

  童小军认为当下Hadoop的主要应用场景在归档、搜索引擎(老本家)及数据仓库上面,各个机构使用Hadoop不同的组件来实现自己的用例。而在这3个场景之外还有一个比较冷门的场景——流处理,这块源于Hadoop 2.0可结合其他框架的特性,而在将来,Hadoop肯定会发展到联机数据处理。

  Hadoop核心思想

  Hadoop平台是能够推动企业内部的数据开放,能够让每个人参与到报表、数据的研发过程。能够实现企业的数据共享,特别是Hadoop队列,资源池,队列,任务调度器的机制,能让整个机型切换成多个资源,而不是以前的数据库,一层层的隔离去使用。最后,童小军还从实际出发,对多个实践进行了讲解。

  汪振平:基于Hadoop日志交易平台的架构及挑战

  上海宝信高级工程师汪振平从金融行业入手,从背景、需求与目标、问题、系统架构及其它Hadoop相关知识5个方面对基于Hadoop的日志交易平台进行深度分享:

  背景

  使用场景:信用卡消费的延时、交易失败和失败的原因及类型、不规范交易机构和商户的寻找与产生原因。

  数据特征:在数据量上,每天近3亿笔交易日志;在数据状态上,目前仅存储拟合后的交易,对原始交易日志不可用。

  需求与目标:交易日志的秒级查询、交易失败分析、不合规交易分析、用户自助分析、与其它数据结合,找出交易失败原因及分析报告、报表。

  打造的挑战:如何获取日志对生产系统影响最小、如何快速将每天3亿+条交易日志转译并存储到Hadoop集群、大量的作业如何管理及如何实现秒级查询。

  系统的打造及架构

  系统的打造就是一个发现问题和解决问题的过程,基于需求和背景,对问题逐个击破,汪振平分享了他的宝贵经验:

  1. 将数据收集影响降到最低:总体上讲,无非就是基于业务选择合适的时间点和方式,这里的实际情况是:每天上午1:00~5:00之间,由于数据以二进制方式存储在本地文件中,且涉及多台机器,同时也为了能快速获取数据,采用了客户端与同业务数据源一一对应关系,每个客户端可以依据配置,能同时获取不同业务系统数据。

  2. 快速将3亿+条交易日志转译并存储到hadoop集群

  在这里汪振平弃用了MapReduce,选择了自主研发主要是因为:HDFS对文件进行切割分布,而文件又是以2进制形式进行存储。基于文件切割、报文之间分界、不完整报文等因素,而且对日志在解析过程中可用性不可控,同时也由于日志解析规范的复杂性决定。

  3. 大量作业的管理

  上图为其公司内部的作业管理架构,主要涉及到4个组件:作业编排器,主要负责编排作业;作业管理器,主要负责作业调度;作业状态管理器,用于审计并发现问题所在;作业触发器,触发作业,触发依赖性作业或者是其它作业。

  秒级查询:汪振平通过Hbase存储、二级索引、ParallelRegionQuery、支持数据区间查询、针对HBase访问API封装,提高开发效率及对集群调优实现了妙级的查询。

  最后汪振平还分享了上海宝信的集群状态、Hadoop相关知识以及Hadoop个人的使用及学习相关经验,在使用经验上他认为初期要做好规模、网络、服务器硬件配置运行环境等的规划,而使用过程中则要注重集群的监控、运行日志的收集和分析及操作系统的共同调优,其中应急流程更是必不可少的一环。而在学习方面,他认为多读源码、深入了解系统运行原理是非常必要的,但无需在早期进行代码修改。

  李尤:Hadoop在智联招聘的实践,及相关注意点

  智联招聘高级工程师李尤表示公司集群中的数据节点已有数十台,并分享了Hadoop在智联招聘中的使用情况:

  Web日志分析

  不使用Ga的原因

  日志数据:用户产生的日志、cdn推送过来的日志、负载均衡日志

  主要分析用户产生的日志: 5月30日的日志(用gzip压缩 )遍历一遍,用时 1分21秒, piggybank中的load函数 用了正则表达式,并将字段区分开,同样的数据用时2分18秒

  日志采集。

  推荐系统(一种很容易理解的推荐算法:排除噪音数据,或者有一定规则的成对次数)

  如何解决推荐系统的冷启动(采用了一种土办法)

  对未来推荐系统的规划(机器学习)

  随后他就Hadoop在智联的使用心得,分享了Hadoop在使用过程中几个必须注意的地方:

  单台cpu核数即为 map和reduce槽数(内存有限时,可以考虑降低reduce槽数)

  Datanode的Jvm heap不要超过2gb。Dn的磁盘数=cpu核数,且不做raid

  Namenode、snn最好做raid;namenode的heap看hdfs规模了,配8gb内存大概能保证800tb的数据量(排除极端情况,有很多小文件、因为不管文件的大小是多少,一个文件、目录,block 就要占用150字节内存

  如果集群比较小,可以考虑上传之前对数据源全部做压缩处理。目前智联用的是gz(这是不可分割的格式,但是节省了大量磁盘空间,是很合算的)

  Shuffle配置的snappy,可以节省网络带宽

  随后李尤更结合代码进行了深度的技术分享,期间还分享了Pig的主要用户,分别为:

  Yahoo!:90%以上的MapReduce作业是Pig生成的

  Twitter:80%以上的MapReduce作业是Pig生成的

  Linkedin:大部分的MapReduce作业是Pig生成的

  其他主要用户:Salesforce, Nokia, AOL, comScore

  最后李尤还对Pig的主要开发者进行了讲解,其中涉及Hortonworks、Twitter、Yahoo!及Cloudera。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款