设为首页 收藏本站
查看: 646|回复: 0

[经验分享] Hadoop离Online系统有多远

[复制链接]

尚未签到

发表于 2016-12-8 08:54:06 | 显示全部楼层 |阅读模式
长久以来,说起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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-311246-1-1.html 上篇帖子: 查看Hadoop当前集群信息的方法 下篇帖子: Hadoop入门-单机伪分布式配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表