`
langyu
  • 浏览: 887891 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Hadoop离Online系统有多远

阅读更多

    长久以来,说起Hadoop,大家只会想到它能承担offline系统的分析工作。的确,它在这个方面做的是很优秀了。如果有人说:Hadoop也可以担当online系统的一部分呀!我们可能就会替这个人悲哀了,是吧?为了更好地认识Hadoop的“所为”,我想暂时抛开技术的细枝末节,逐一梳理下Hadoop的各个组件,试着分析下Hadoop离担当online系统之大任还差哪些。

    首先,在我来看,online系统需要有这些特质:稳定、高效、易于管理与监控、易于集成,它们在我认识中依次以重要性排序。能和Hadoop类比的(类似的,只为了举例)online系统有NFS,DB等,它们符合这样的要求。所以这些特质也会成为我们要求Hadoop平台的准绳。

    Hadoop定位于大数据的存储与计算,且存储的是半结构化或非结构化数据。Online系统是否需要这样的一个组件是第一位要考虑的。单纯用它做文件存储?感觉大材小用了,类似的存储平台很多,不一定选Hadoop。Hadoop的优势就在于将存储与计算整合,所以如果要让它担当大任,对进来的数据不做分析就没有必要。那如果要分析,可以分析哪些数据呢?之前Cloudera的创始人讲过Hadoop适用的十种场景,可能不是很完整,至少在很多领域里,我们都能看到Hadoop的应用场景。

    有人会问:如果要online分析,我为什么不选择Storm/S4这些流式数据分析平台,那不更有效么?Storm/S4的特点就是一次分析结束,数据就没了!也就是说,数据没有“重放性”。很多时候分析不是一次就可以做完的。增量分析、定时分析、延迟分析、迭代分析等,都需要想要分析时数据还在。所以Hadoop的使用与Storm/S4的应用场景还是有差别的。那Hadoop要支持online系统,它能做什么呢?这个问题的答案就是:你想从大数据中获取什么信息?如果用在广告定位领域,就是想更快地根据实时搜索调整广告投放;如果用在贸易监控领域,就是想及时地获得异常情况反馈。。。 如果Hadoop能根据实时搜索结果动态改善搜索质量,那么你觉着有意义么?

    Hadoop要想接入到online系统,它需要有效地部署与完善它的各个组件。下面会分析这些组件所面临的各种问题:

    存储
    1. HA. 自从最近社区解决了HA问题后,终于可以扬眉吐气地增加主版本了。HDFS也不用再受别人BS的眼神。
    2. 自身的软件问题。HDFS发展快八年了,还是有很多软件问题存在。客观上没办法,分布式集群的同步问题谁也避不开。但是它影响着集群的升级与维护,会降低系统的可用性。
    3. 更简单及方便的接口。从语言上看,推出了libhdfs,但有内存泄露问题,不敢用呀。还没有其它语言的接口。Hoop正在完善中,之后就可以名正言顺地替代HTTPProxy了。Thrift接口也完善了,但Thrift server应该放在哪呢?
 
    计算
    1. MapReduce的动静太大了。MapReduce利用并发化来解决没有索引的大数据分析问题。每个MapReduce Job都粗旷地扫描所有目标文件。我的感觉里,没有索引的粗狂风格纵是成为online系统,也应付不了online的更多问题。当前正在做的HOP只是解决框架设计,不能解决索引的问题。
    2. 配额管理。MapReduce Job执行依赖于集群资源的支撑。CPU、内存和网络等资源需要有效管理起来,以适用于不同的online user。在MapReduce中,与之相关的部分就是Job调度策略。在Hive中,表结构的规划也会影响到HDFS文件大小及MapReduce资源。总之,如果不做资源管理的话,想对于提供相互貌似独立的平台其实很难的。
    3. 调度。Job有大有小、有急有缓、有长期有瞬时。不管怎样的Job都套在MapReduce的Job调度策略中,肯定不是有效的选择。如何根据Job的属性来选择匹配合适的调度策略是需要考虑的。
    4. MapReduce Job的调优。Job的优化不是统一的,肯定因Job而异。Online的服务需要根据业务与数据特性来定制合适的调优策略。这点暂时没有做到。
 
    展现
    有效的输出展现工具。当前的MapReduce展现太丑陋了。做了这么牛的一套系统,输出很弱智,的确让人感到悲哀。不过,最新的消息是Apache正在酝酿Hive等系统的展现工具,或许是集成其它好玩的应用。不管怎样,有效的展现总会提高用户体验的。

    全局
    1. 集群的管理与监控。这个方面现在不管Hadoop创业公司还是社区都有相当高的认识,很多产品开始涌现。如何简单地配置与高效地监控是大家比拼的重点。这个方面可以不用担忧。
    2. 用户的全局管理。Hadoop生态圈的用户管理是分散、没有全局统一起来的。用户可以做什么、用户所在的组可以做什么都需要有明确的要求。在Hadoop之外再搭建一层用户管理的层是相当有必要的。
    3. 安全机制。如同上面所说的用户管理,整个Hadoop生态圈也需要全局的认证与授权组件。可以定义HDFS quota、MapReduce资源、Hive表空间及HBase相关存储的有效管理。在HA方案之后,能把Hadoop推到更高层次的下一要点就是安全了。
    4. 跨数据中心的能力。Hadoop能跨数据中心吗?暂时不能!整个生态圈依赖于HDFS与MapReduce。这两位在Namespace管理层都不能做到解决跨数据中心的延迟与不一致性问题。但对于Online服务,这项技术越来越重要。

    暂时能想到的只有这么多了,大家有什么补充的可以补充。这样梳理下来看,Hadoop任重而道远,大家努力吧。

分享到:
评论
1 楼 zhouyuanchao 2013-12-18  
你好,我想请教一下“Storm/S4的特点就是一次分析结束,数据就没了!也就是说,数据没有“重放性”。很多时候分析不是一次就可以做完的。增量分析、定时分析、延迟分析、迭代分析等,都需要想要分析时数据还在。”这句话怎么理解,能具体说一说么?十分感谢!

相关推荐

    Hadoop生态系统概览

    ### Hadoop生态系统概览 #### 一、Hadoop的历史与起源 Hadoop项目诞生于2004年,由Doug Cutting和Mike ...随着技术的不断发展,Hadoop及其生态系统也在不断进化和完善,为用户提供更多高效、灵活的解决方案。

    基于SpringCloud+Hadoop+Vue的企业级网盘系统设计与实现源码

    文件在线预览服务:file-online-preview 基于SpringCloud+Hadoop+Vue企业网盘系统主要分为前台和后台两大模块,前台模块分为首页,网盘,分享,资源库,关注用户,系统公告模块,不同的功能模块拥有的功能也是不...

    Berkeley关于MapReduce Online的文章

    - Hadoop Online Prototype (HOP)保留了Hadoop的容错属性,意味着系统能够处理节点失效等异常情况。 5. **作者和研究团队:** - 文章列出的主要作者包括Tyson Condie, Neil Conway, Peter Alvaro, Joseph M. ...

    MapReduce online 翻译

    伯克利的研究者提出了一种改进的MapReduce体系,名为MapReduce Online,它允许数据在操作之间进行管道传输,从而实现在线处理,提高了系统的效率和响应速度。 在传统的MapReduce模型中,如Google的实现和开源的...

    Hadoop权威

    除了核心组件外,Hadoop还拥有一个庞大的生态系统,包括多个工具和框架,如: - **Hive**:提供数据仓库功能,支持SQL查询,使得数据处理更加直观。 - **Pig**:用于大规模数据集的分析,通过一种名为Pig Latin的...

    Hadoop (2.X版本) 管理与开发

    Hadoop并非单一技术,而是多个开源项目的一个集合,如HBase、Hive、ZooKeeper等,它们构成了一个完整的生态系统。 Hadoop的来源,最早可以追溯到Lucene,这是Doug Cutting基于Google技术实现的Nutch搜索引擎的一...

    DWFS-ONLINE-70-源码.rar

    如果"DWFS-ONLINE-70"指的是一个特定的版本或者项目,我们通常会期望看到更多的背景信息,例如它的功能、设计目标、使用的技术栈或者与其它类似系统的对比等。然而,在这里,我们无法提供这些详细信息,因为它们没有...

    《Hadoop实战》PDF版本下载.txt

    7. **案例分析**:本书通过多个真实案例来展示如何应用Hadoop解决具体问题,这些案例覆盖了推荐系统、社交网络分析等多个领域,极大地丰富了读者的学习体验。 ### 下载资源链接 根据提供的文件信息,读者可以通过...

    SQL标准2003 数据仓库 HADOOP

    3. "5WD-10-OLB-2003-09.pdf":可能涉及在线分析处理(OLAP)和业务智能,OLB可能代表Online Business,讨论如何用SQL进行多维数据分析以支持决策制定。 4. "5WD-03-CLI-2003-09.pdf":CLI可能指Command Line ...

    基于SpringCloud+Hadoop+Vue的企业级网盘系统设计与实现+毕业论文材料+答辩(高分毕业设计+荣获推荐)

    基于SpringCloud+Hadoop+Vue的企业级网盘系统设计与实现(含毕业论文资料+优秀毕业设计) 应用组成 前端:vue-projectManage 后台:mycloud-admin 提供前端服务:mycloud ps:springcloud实现 文件在线预览服务:file...

    基于Hadoop-Mahout的分布式课程推荐算法.pdf

    关键词中的MOOC(Massive Open Online Course)指的是大规模开放在线课程,它是现代在线教育的一个重要形式。课程评价指的是对课程质量、教学效果等进行的分析和评估。推荐算法是指使用算法对用户可能感兴趣的内容...

    分布式online与offline设计 slides

    分布式在线(Online)与离线(Offline)设计是大数据处理领域中的重要概念,它们主要针对大规模数据处理的不同场景和需求。本讲座的slides主题为"分布式online与offline设计",结合提供的标签“源码”和“工具”,...

    MapReduce Online译文PDF

    ### MapReduce Online 译文PDF知识点总结 #### 摘要 本文介绍了一种改进的MapReduce体系结构,即MapReduce Online(MRO),旨在通过允许数据在操作间使用管道传输来增强传统的MapReduce编程模型。这种方法不仅简化...

    Pro hadoop

    至于《Money Online.txt》,这个文件名看起来与Hadoop主题不直接相关,可能包含作者的额外信息,例如关于如何利用在线资源进一步学习Hadoop或者关于在线赚钱的相关讨论。 总之,《Pro Hadoop》是学习Hadoop和...

    MR_online_eclipse:hadoop WordCount 演示

    1.系统环境 调试:Win7,64bit Cluster: Linux, Centos 2.创建hadoop项目命令 mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=org.conan.myhadoop.mr -DartifactId=myHadoop -...

    SAS online tutorial for Advanced Exam and Base Exam教程

    4. 大数据处理:了解SAS在处理大数据环境中的解决方案,如SAS Viya和Hadoop集成,以及如何使用SAS High-Performance Analytics处理分布式数据。 三、SAS认证考试准备 1. 题型分析:熟悉SAS认证考试的题型,包括...

    MapReduce Online(Doc)版一

    通过“MapReduce Online”的doc文档,读者可以深入了解 Hop 项目如何实现 MapReduce 在线处理的细节,包括系统架构、算法设计以及性能优化策略。这对于想要深入理解大数据处理和分布式计算的 IT 专业人士来说是一份...

Global site tag (gtag.js) - Google Analytics