`
langyu
  • 浏览: 884191 次
  • 性别: 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的特点就是一次分析结束,数据就没了!也就是说,数据没有“重放性”。很多时候分析不是一次就可以做完的。增量分析、定时分析、延迟分析、迭代分析等,都需要想要分析时数据还在。”这句话怎么理解,能具体说一说么?十分感谢!

相关推荐

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

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

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

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

    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 -...

    校车在线购票系统online-ticket.zip

    购票系统是一种用于方便用户购买门票、交通票、电影票等各种类型票务的系统。这种系统通常涉及以下几个方面的功能和流程: 用户注册与登录:用户可以通过注册账号并登录系统来进行购票操作,系统可以保存用户的个人...

    大数据与OLAP系统

    OLAP(online analytical processing,在线联机分析处理)是关系数据基础上实现商业智能的核心技术。在大 数据时代,人们迫切希望在由普通机器组成的大规模集群上能实现高性能的OLAP,然而系统性能的挑战巨 大。可喜...

    一个线上影院购票系统online-cinema.zip

    购票系统是一种用于方便用户购买门票、交通票、电影票等各种类型票务的系统。这种系统通常涉及以下几个方面的功能和流程: 用户注册与登录:用户可以通过注册账号并登录系统来进行购票操作,系统可以保存用户的个人...

    毕设基于SpringCloud+Hadoop+Vue的企业级网盘系统设计与实现.zip

    文件在线预览服务:file-online-preview 二、总体设计 2.1 运行环境 编程语言:Java、Mybatis、Spring、SpringBoot、SpringCloud、Node、Vue 开发环境:Windows 10 + Mysql 开发工具:WebStorm、IDEA编译器、Git、...

    Hadoop构建的银行海量数据存储系统研究 (2015年)

    针对目前国内银行的OLAP(Online Analytical Processing)技术滞后于海量数据处理需求的情况,研究了海量数据存储、处理的关键技术,设计并实现了用Hadoop平台和关系型数据库架构的银行海量数据处理系统.介绍了系统...

    阿里云ossjava源码-cxx-graduation:本人2019届毕业设计作品《企业级网盘分布式系统》,被评为优秀毕业设计。本系统通过Sp

    基于SpringCloud+Hadoop+Vue的企业级网盘系统设计与实现 【2019届毕业设计】,【优秀毕业设计】,【华东交通大学】 一、应用组成 前端:vue-projectManage 后台:mycloud-admin 提供前端服务:mycloud ps:spring...

    大数据离线计算的架构与组件.pdf

    (2)离线(offline)计算也可以理解为批处理(batch)计算,与其相对应的是在线(online)计算或实时(realtime)计算 2>.离线计算的特点 (1)数据量巨⼤,保存时间长 (2)在⼤量数据上进⾏复杂的批量运算 (3)数据在...

    大数据离线计算.pdf

    离线(offline)计算也可以理解为批处理(batch)计算,与其相对应的是在线(online)计算或实时(realtime)计算 离线计算的特点 ⼤数据离线计算为多种应⽤场景提供基础计算功能,其特点 为: 数据量巨⼤且保存时间...

    bootcamp-engenharia-de-dados:Bootcamp Online-IGTI开发的数据工程-https

    在线训练营-数据工程师 训练营在线-数据工程开发由IGTI - BootCamp时间轴 模块:简介 ...模块03:使用Hadoop生态系统的数据解决方案 模块04:数据基础架构和可扩展架构 单元:最终挑战 训练营步道

    大数据特征与发展历程.pdf

    数据是在线的(Online):数据是永远在线的,是随时能调⽤和计算的,这是⼤数据区别于传统数据最⼤的特征。现在我们所谈到的⼤数据不 仅仅是⼤,更重要的是数据变的在线了,这是互联⽹⾼速发展背景下的特点。⽐如,...

    java7源码-NetCloud:基于structs、servevlet、hibernate和mysql的在线磁盘

    Online Disk based on structs, servevlet, hibernate and mysql 1.1. 项目说明[^源] [^源]: 这是一个基于Hadoop云盘系统,实现的界面是用javaweb完成的,使用的是Spring Struts2 hibernate集合框架,配有sql文件。 ...

Global site tag (gtag.js) - Google Analytics