分享

Hadoop Summit 2012 侧记

 openlog 2012-07-04
Hadoop Summit 2012 侧记

EMC中国研究院 向东

6月12号-6月14号,小编有幸参加了在美国加州圣何塞举行的年度Hadoop盛会“HadoopSummit 2012”。一周的忙碌之后,小编带着各种收获满载而归,又回到办公室自己熟悉的座位上了。由于时差的关系,整个人昏昏沉沉的,会议上的各种场景却还在脑海中闪回,所以得赶紧把所见所得记录下来,既是分享给大家,也是对自己思路的整理。

Hadoop自身是开源软件,其JIRA和源代码仓库,邮件列表都是开放的,任何大小变化,有心人都可以看到。再者现在各种媒体,自媒体,社交网络无限发达,任何技术创新都能在第一时间内广泛传播。那么,举行和参加HadoopSummit这么大规模的会议,意义何在?小编的答案很简单:会议把生态系统上下游都集聚在一起,提供了一个成本极低的沟通交流和思想碰撞的机会;会议是所有社区成员的大party,更是Hadoop社区成功的一个宣言:Hadoop已经成熟,成为一股不可阻挡的力量!

会议的正式日程是13/14号两天,但是12号就组织了一系列Hadoop社区人员的BOF(Birdsof a Feather Sessions) ,比如HDFS(http://www./Hadoop-Contributors/events/60841502/),Yarn/MapReduce (http://www./Hadoop-Contributors/events/64747342/).小编虽然不是committer,但自认为也算社区成员之一,于是毫无压力的去参加了。(题外话,VMWare的上海新office里面有个会议室就叫做BOF,大家来猜猜其中文名叫做什么?)HDFS里面话题相对比较丰富,Dhruba介绍了Facebook运营HDFS的情况(warehouse集群和Message集群),并详细介绍了HDFS-RAID(http://hadoopblog./2009/08/hdfs-and-erasure-codes-hdfs-raid.html)的细节。简言之, 对于冷数据,并一定要在HDFS里面保存3个副本。Dhruba介绍了两种不同的RAID方案,对于不太冷的数据块A/B/C,通过XOR方式产生parity数据块,原来的数据块A/B/C各保留2个replica,parity数据块也有两个replica,这样,replica系数就从3减小到了2.6(理论值)。 对于很冷的数据,方案更加激进,parity数据块是由10个数据块通过里德-所罗门算法生成的,对于原来的数据块,只保留一个replica,parity数据块有2份replica,这样,replica系数就降到了1.2。Dhruba没有提及是如何选择数据块的组合来进行parity计算的,不过这没关系,去看code就好了:https://issues./jira/browse/HDFS-503。HDFS相关的Session还有Hari介绍snapshot,Todd介绍了performance相关话题,Sanjay介绍了HDFS将来的发展(相关内容可以参考这个http://www./Hadoop_Summit/hdfs-high-availability-13386131  slide里面的第二部分 “Generalizedstorage service”)。Yarn/MapReduce的则相对集中在Yarn上,从设计理念到具体实现,以及如何实现自己的ApplicationMaster都有讲到。同去的同事则去Pig和Zookeeper的session,收获也不少。当晚有个社区组织的Big Data Camp http://www./siliconvalley/2012-06-12/, 正好小编参加了5月份在上海组织的HUG(HadoopUser Group,http://hugsh.sinaapp.com/  ), 不由得做了个小小的比较。直观感受是HUG更加侧重于嘉宾的技术分享,session相对较长,而BigData Camp更加注重互动,比如主持人现场向大家收集关于BigData的问题,然后现场招募嘉宾来回答。这些现场的志愿嘉宾的来头都很大,比如写Cascading的Chris,再比如Greenplumlabs 的ChiefArchitect - Milind。遗憾的是,现场时间有限,对于提出的问题,大家都没法深入探讨。


13/14号是会议正式举行的时间,每天早上先是主会场的keynote,然后7个分会场有各自的session。13号大会正式开始的时候,首先播放了一段精心制作的视频(http:///43985564 ),视频的配乐是Santigold的 ”Disparate Youth ”, 好听的有些喧宾夺主了。相对来讲,Keynote报告是着眼于趋势/总结,不关注技术细节。在所有的keynote中,小编觉得14早上GeoffreyMoore所做的题为“Digitizingthe world – the driving force behind the Hadoop adoption lifecycle”(http://www./Hadoop_Summit/geoffrey-moore-keynote-hadoop-summit  视频http:///bt3AyQ8fb4U  )最为精彩,Geoffrey分析了计算机和互联网给商业带来的变化,按照带来的改变程度和方式,依次定义为DigitalOffice Work, Digital Value Chains, Digital consumption, Digital engagement 的时代。新时代中,企业IT无疑会发生翻天覆地的变化,一系列在消费市场大行其道的技术和商业模式比如LBS,Appstore,SocialNetwork等,会冲击并和原来的ITinfrastructure 融合,这其中,Hadoop无疑会扮演重要角色。Geoffrey向大家介绍了Technologyadoption life cycle ( http://www-inst.eecs./~eecsba1/sp98/reports/eecsba1g/project3/report.html#ADOPTION),并进行给出了实例分析。 主题报告的最后,Geoffrey总结了Hadoop开发人员所面对的相似主题:optimizing outcomes at scale,强调了领域专家的重要性。最后,展望未来,一张大饼画了出来:Thisshould provide at least a decade of entertainment for everyone present! 乌拉!


各个分会场进行的session充分反映了当前Hadoop生态系统的活跃度和多样性,实际上,大会的session分成了7个不同的主题Futureof Apache Hadoop, Deployment and Operations,Enterprise Data Architecture,ApplicationsData Science,Analyticsand BI,Hadoopin Action,ReferenceArchitectures。现在大部分Session对应的slides已经被释放出来了(http:///program/ ),大家可以挑感兴趣的去观摩。 小编自己总结,这些session分成4大类:


1.      社区在核心/外围组件上的进展以及展望。比如Arun 就把MapReduce将来一系列可能的新功能进行了总结(http://www./Hadoop_Summit/map-reduce-whats-next): 调度器方面1)支持多维的资源调度,现在Yarn中,Container只是内存的抽象,蓝图里面一直说要增加对CPU,Network,DiskIO的支持。MAPREDUCE-4327就是为此而来,这里要要修改AppMaster和ResourceManger的之前的资源谈判协议,要实现pluggable的Container资源监视协议,便于加入新的资源抽象(12号MapReduce集会的时候,就有人提出MapReduce要利用好GPU),小编猜想,引入多维资源以后,调度器那边很可能要解NP问题。2)Preemption (MapReduce-3938), 这个是防止资源滥用的手段,虽说代价比较大。3)  Gang 调度器, 对于某些workload,需要同时申请特定数量N的container(比如MPI),现在调度器显然不支持这种All-or-Nothing的行为。 一直在讨论的Container资源的隔离问题也提上了日程 (MAPREDUCE-4334)。Yarn的终极设计目标就是一个通用的集群资源管理平台,而不单单着眼于MapReduce,将来要增加对各种不同计算framework的支持,比如OpenMPI,Spark/Shark,Storm等,这些大都以实现相对应的AppMaster来实现。对于MapReduceRuntime本身,演进的方向就是让各个子部件更加可定制化,比如在sort,merge,shuffle时都可以有多种选择。简单的例子就是实现GoogleTenzing论文里面提到的sortavoidance (MAPREDUCE-4039)。HDFS方面,最近的热点是HDFS-HA,为此专门有相应讲座(http://www./Hadoop_Summit/hdfs-high-availability-13386131)来介绍。 除了HA,HDFS本身的演进也很受关注,这个在sessionhttp://www./Hadoop_Summit/hdfs-namenode-high-availability里有详细的介绍。除了这两大核心组件以外,一系列处于外围但是非常重要的组件也有提及,比如Zookeeper,HCatalog,Giraph,Sqoop2, PIG等等,大家可以去check一下会议主页的session列表,深入研究自己感兴趣的话题。


2.      各种工程和学术上的扩展和尝试。这些扩展和尝试是社区对新技术,新的应用场景的回应。显而易见的是,在这其中无疑会产生新的Hadoop组件以至于Hadoop的挑战者。一个例子就是数据库和Hadoop如何结合?Oracle 在会议上展示了Oraclein-database Hadoop ( http://www./Hadoop_Summit/oracle-in-database-hadoop-13398018), 简言之,就是在数据库内嵌HadoopMapReduce compute framework,提供了TableReader和TableWriter来实现对数据库表的读写(题外话,相应的presentation应该在SIGMOD’12讲过,小编在网上看到一段8g,中国学者写的,很风趣,活灵活现了当时的场景,详见http://www./life/2012-06-01-sigmod12-2/)。 来自EMC GreenPlum则展示了另一种可能的方向: 保持原来MPPdatabase的queryengine,underlinestorage则换成HDFS会如何(http://www./Hadoop_Summit/greenplum-database-on-hdfs)? 这个工作主要是EMC GreenPlum Lab北京的常雷博士领导实现的(题外话,常博士曾经是EMC中国研究院的一员哦)。Session中,常博士介绍了他们遇到的两大挑战:1)HDFS不支持对文件的overwrite和truncate操作,这使得无法实现GPDB中的事务操作。解决方案是给HDFS定义truncate的语义,详见https://issues./jira/browse/HDFS-3107  2) 现在libhdfs基于JNI ,打包了libjvm,非常重量级。对于GPDB而言,使用libhdfs的开销太大了,所以必须要有一个新的HDFS c客户端。虚拟化和Hadoop结合会产生如何效果?VMWare刚刚release了Serengeti,在会议上来自VMWare的Richard详细介绍了Serengeti项目的动机,优点,使用方式等等 (http://www./Hadoop_Summit/big-data-on-virtualized-infrastucture),非常值得一看。另一个引起广泛关注的Session就是UC Berkeley的Spark/Shark(http://www./Hadoop_Summit/spark-and-shark)。Spark/Shark背后的动机是通过data-sharing,提供对multi-stage和interactive类型的应用更好的支持。Spark/Shark的核心idea是RDD (resilientdistributed dataset):简言之,RDD是基于内存的一个分布式的对象缓存,支持一系列的语义来对其进行并行操作,同时,支持失败后自动重建(通过checkpoint和linageinformation)。Shark则是基于Spark的一个HIVE实现,亮点之一对象在内存是使用列存储,这大大节省了内存空间。Matei在session最后介绍了项目的最新进展SparkStreaming,顾名思义,这个新系统基于Spark,着眼于streamingprocessing和realtime analytic。关于SparkStreaming最新论文刚刚在HOTCLOUD’12(https://www./system/files/conference/hotcloud12/hotcloud12-final28.pdf)发表,有兴趣的同志可以自行查看。


3.      各种应用实例,reference architecture,bestpractice之类。这里面有偏向系统架构介绍的,也有偏向大数据背景下机器学习算法介绍。小编印象最深的是Todd关于MapReduce性能优化的session(http://www./Hadoop_Summit/optimizing-mapreduce-job-performance)。Todd系统的总结了MapReducejob执行的7个阶段,给出各个阶段影响性能的因素和性能优化的可能方向。


4.      各种business case show。 这些session侧重于提供解决方案,推销自己相应的产品,强调的是业务应用场景,自己的产品的能力,对于产品背后的技术细节则提之甚少。小编不小心听了一个其中之一,直呼上当,毕竟是在好几个感兴趣的session中权衡了才选了这个,沉没成本不少。话说回来,出现这种session正说明了Hadoop社区的成熟,客户足够信任Hadoop,决定他们选择的可能是产品out-of-box支持自己业务的能力。


大会共有7个分会场,一共进行84个session(http:///program/ ),这里面很多都值得仔细分析,对大数据和Hadoop感兴趣的同学一定不要错过。


大会还有一个同时进行的活动叫做“communityshowcase”,所谓community,就是大数据生态系统里面的所有参与者,也就是参会的每一个人了。大会为“communityshowcase”专门布置了一个会场,和其他会议一样,会议的赞助商们在会场设了不少摊位,介绍自己的产品/解决方案,并派发纪念品。小编在这里看到不少熟悉却又意外的身影,比如QuestSoftware,很多程序员不一定知道Questsoftware,但是提起TOAD,熟悉的大青蛙logo一定会引起他们会心的微笑。作为TOAD背后的开发商,Quest在会议上推出了TOADfor cloud database以及TOAD for Hadoop,这是主动拥抱变化的一个好例子。再比如VMWare,VMWare在会议上展示了Serengeti,虚拟化环境中的Hadoop,引起了大家极大的兴趣。当然,Hadoop生态系统中传统的大佬,比如Hortonworks,Cloudera,MapR自然也不会缺席。小编在这个会场结识了不少新朋友,交谈中,大家都觉得得益于opensource,Hadoop整个生态系统已经初显雏形,但是还有很多很多的机会。而Hadoop开源的本质又使得新来者有机会参与其中,所以正如前面Geoffrey所说,如果对大数据感兴趣,赶紧参与进来吧,这是一个前途无量的事业!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多