Hadoop从互联网诞生,但近些年在整个大数据领域呈现爆发式发展和进化,尤其是在2013年Hadoop 2.0正式Release后,Hadoop有了正式的 Operation System—YARN,从此Hadoop不再只是MapReduce的代名词,Storm、Spark、Graph,MPI等越来越多的计算模型可以运行在YARN上,批处理计算、实时流式计算、迭代交互计算等都可以同时运行在Hadoop集群上,Hadoop已经成为大数据计算的全能平台。HBase随着近几年的高速发展和应用,已经成为大数据技术领域最主流的NoSQL数据库;Tez和Spark的出现让Hive拥有了更高效的计算引擎可以选择;Impala和Stringer更是将大数据SQL带入到了Realtime时代;Ambari的诞生和快速发展也大幅降低了Hadoop集群的运维门槛。随着Hadoop开源社区不断涌现出各种令人兴奋的新技术,逐步完善的Hadoop生态系统已经成为大数据行业发展的核心动力。
\u0026#xD;\n\u0026#xD;\n
本次QCon上海的Hadoop专题出品人王峰(莫问)接受了InfoQ邮件采访,谈到自己在阿里的工作,YARN的优势以及Stream和Spark等平台的比较。
\u0026#xD;\n\u0026#xD;\n
InfoQ:为什么会做这次QCon上海“Hadoop,超越MapReduce”的出品人?
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n王峰:我在阿里的8年中一直从事搜索和分布式技术研发,自2010年开始基于Hadoop生态技术构建阿里的搜索离线技术平台,统一支持淘宝、天猫、1688、一淘和云搜索等多条搜索业务线的后台数据处理,亲自带领团队经历了Hadoop从1.0到2.0的平台演化之路,本次受我们阿里的朱鸿老师邀请,有幸成为“Hadoop,超越MapReduce”的出品人。
\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
InfoQ:您一直负责为阿里集团服务业务提供平台数据支持,请给大家简要介绍一下整体情况?
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n王峰:我负责的阿里搜索离线技术团队,为阿里集团的搜索业务提供统一的离线基础数据平台支持,目前我们基于YARN构建了统一的计算平台,支持批处理、实时流式等多种计算模型支持;基于HBase构建了统一存储平台,支持KV,SQL,Queue等多种存储模型,计算+存储共享集群资源,同一套基础架构同时支持淘宝、天猫、1688、一淘和云搜索等多条搜索业务线,为阿里的搜索引擎提供实时、增量、全量的全数据支持。
\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
InfoQ:2013年阿里搜索全面升级YARN,比起之前来讲有什么优势呢?
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n王峰:第一次接触YARN是在2011年低在美国参加Hadoop World,随即造访了Hortonworks,更加详细深入的理解了YARN的设计思路,感觉这个东西如果成熟了,就是Hadoop OS,Hadoop的计算能力将产生飞越。但如果只在YARN上单纯运行MapReduce,其价值将不会有质的变化,最大的好处也就是把集群规模可以做的更大了,这个意义就大打折扣了。升级到YARN的最终目标应该是让计算模型更加丰富,并产出统一的计算平台,降低维护成本,更大程度的扩大集群资源利用率,发挥云计算的效果。我们阿里搜索的Hadoop升级到YARN以后,不仅运行了传统的MapReduce、Hive,还自主研发了iStream(流式计算引擎)、iCall(基于Thrift的分布式RPC服务),后续还计划尝试Tez,Spark等新式计算模型,统一的计算平台相比之前的MapReduce Job,无论是效率,成本还是对业务支持的灵活性都实现了质的飞跃。
\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
InfoQ:我们还看到淘宝自主研发了iStream流式计算引擎,这方面的工作也想请您简要介绍一下。
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n王峰:其实我们当初最早是尝试storm,但storm最大的问题是无法和hadoop集群复用,单独存在的storm集群让我们运维成本增加,同时资源利用率也上不去,出现各种问题也无法根本解决,YARN的出现让我们有了新的思路。iStream天然是基于YARN来设计的,因此其在设计理念上最大的亮点就是考虑了如何和其他计算模型共存,达到实时计算效果的同时,还可以实现计算平台的全局最优化,例如:iStream可以自动感知流处理的进度快慢,智能调整计算节点的数量,即高峰期可以自动扩容节点保证处理速度,低峰期也可以在保证进度的条件下合理释放节点,让资源在多计算模型场景下真正按需分配。现在阿里搜索的hadoop集群上,iStream承担了流式数据处理的角色,为搜索引擎提供实时增量数据,MapReduce承担了全量或者批量数据处理的角色,为搜索引擎提供全量数据,两种计算模型可以自动合理的配合,无需人工运维干预。
\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
InfoQ:Spark平台目前挺火的,您在这方面是否有所涉及?
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n王峰:Spark目前可以算是最火的计算模型,不过我们还没有将Spark投入生产,原因不是我们不认可Spark,而是Spark强在迭代计算和实时SQL,这块在搜索主流程中的场景不是特别明显。简单来说,Spark Streaming在我们这里有了iStream,实时性和资源管理更加专业;Spark SQL在我们这里有了Phoenix(SQL On HBase),因为我们的数据基本都在HBase,基础的SQL场景,我们用Phoenix可以轻量级的解决了;迭代运算都是算法训练的纯离线过程,都在阿里的云梯和ODPS上运行了。
\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
InfoQ:作为行业翘楚,您对Hadoop的认识非常深刻,不知您有没有比较好的图书、社区推荐给广大读者?
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n王峰:其实我个人阅读的Hadoop相关的图书并不多,除了几本英文经典之外,大部分信息都是通过社区文档、hortonworks/cloudera的blog、slideshare上的各种会议slides以及微博/twitter获取的,当然经常去hadoop社区的jira上看看issue,阅读一些源码也是必不可少的。
\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
InfoQ:最后一个比较八卦的小问题,请您谈谈花名“莫问”的由来?
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n王峰:虽然我在阿里已经超过8年了,但我前几年在雅虎中国和阿里云,2010年转到淘宝的时候,好的花名已经都没有了,“莫问”这个名字是“七剑”中傅青主拿的那把剑的名字,是“七剑”智慧的象征,同时也挺喜欢七剑中“莫问前程有愧,但求今生无悔“这句话,所以就起名“莫问”了。
\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
采访者简介:张天雷(@小猴机器人),清华大学计算机系博士,熟悉知识挖掘,机器学习, 社交网络舆情监控,时间序列预测等应用。目前主要从事国产无人车相关的研发工作。