热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

阿里搜索离线技术团队负责人谈Hadoop:阿里离线平台、YARN和iStream

Hadoop从互联网诞生,但近些年在整个大数据领域呈现爆发式发展和进化,尤其是在2013年Hadoop2.0正式Release后,Hado

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

采访者简介:张天雷(@小猴机器人),清华大学计算机系博士,熟悉知识挖掘,机器学习, 社交网络舆情监控,时间序列预测等应用。目前主要从事国产无人车相关的研发工作。


推荐阅读
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • web页面报表js下载,web报表软件 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 本文详细解析了NYOJ20 - 吝啬的国度问题,通过图的深度优先搜索(DFS)算法解决路径查询问题。 ... [详细]
  • mybatis 详解(七)一对一、一对多、多对多
    mybatis详解(七)------一 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 在日常生活中,支付宝已成为不可或缺的支付工具之一。本文将详细介绍如何通过支付宝实现免费提现,帮助用户更好地管理个人财务,避免不必要的手续费支出。 ... [详细]
  • 每种编程语言都有其独特的完成任务的方式,这也说明了为什么有这么多语言可供选择。在JimHall的《不同的编程语言如何完成相同的事情》文章中,他演示了13种不同的语言如何使用不同的语 ... [详细]
  • C# 中创建和执行存储过程的方法
    本文详细介绍了如何使用 C# 创建和调用 SQL Server 存储过程,包括连接数据库、定义命令类型、设置参数等步骤。 ... [详细]
  • 根据官方定义,RxJava是一种用于异步编程和可观察数据流的API。其核心特性在于流式处理能力和丰富的操作符支持。 ... [详细]
  • Python 日志记录模块详解
    日志记录机制是软件开发中不可或缺的一部分,它帮助开发者追踪和调试程序运行时的各种异常。Python 提供了内置的 logging 模块,使我们在代码中记录和管理日志信息变得更加方便。本文将详细介绍如何使用 Python 的 logging 模块。 ... [详细]
  • HBase Java API 进阶:过滤器详解与应用实例
    本文详细探讨了HBase 1.2.6版本中Java API的高级应用,重点介绍了过滤器的使用方法和实际案例。首先,文章对几种常见的HBase过滤器进行了概述,包括列前缀过滤器(ColumnPrefixFilter)和时间戳过滤器(TimestampsFilter)。此外,还详细讲解了分页过滤器(PageFilter)的实现原理及其在大数据查询中的应用场景。通过具体的代码示例,读者可以更好地理解和掌握这些过滤器的使用技巧,从而提高数据处理的效率和灵活性。 ... [详细]
author-avatar
平凡淘你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有