`
- 浏览:
887891 次
- 性别:
- 来自:
杭州
-
长久以来,说起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任重而道远,大家努力吧。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### Hadoop生态系统概览 #### 一、Hadoop的历史与起源 Hadoop项目诞生于2004年,由Doug Cutting和Mike ...随着技术的不断发展,Hadoop及其生态系统也在不断进化和完善,为用户提供更多高效、灵活的解决方案。
文件在线预览服务:file-online-preview 基于SpringCloud+Hadoop+Vue企业网盘系统主要分为前台和后台两大模块,前台模块分为首页,网盘,分享,资源库,关注用户,系统公告模块,不同的功能模块拥有的功能也是不...
- Hadoop Online Prototype (HOP)保留了Hadoop的容错属性,意味着系统能够处理节点失效等异常情况。 5. **作者和研究团队:** - 文章列出的主要作者包括Tyson Condie, Neil Conway, Peter Alvaro, Joseph M. ...
伯克利的研究者提出了一种改进的MapReduce体系,名为MapReduce Online,它允许数据在操作之间进行管道传输,从而实现在线处理,提高了系统的效率和响应速度。 在传统的MapReduce模型中,如Google的实现和开源的...
除了核心组件外,Hadoop还拥有一个庞大的生态系统,包括多个工具和框架,如: - **Hive**:提供数据仓库功能,支持SQL查询,使得数据处理更加直观。 - **Pig**:用于大规模数据集的分析,通过一种名为Pig Latin的...
Hadoop并非单一技术,而是多个开源项目的一个集合,如HBase、Hive、ZooKeeper等,它们构成了一个完整的生态系统。 Hadoop的来源,最早可以追溯到Lucene,这是Doug Cutting基于Google技术实现的Nutch搜索引擎的一...
如果"DWFS-ONLINE-70"指的是一个特定的版本或者项目,我们通常会期望看到更多的背景信息,例如它的功能、设计目标、使用的技术栈或者与其它类似系统的对比等。然而,在这里,我们无法提供这些详细信息,因为它们没有...
7. **案例分析**:本书通过多个真实案例来展示如何应用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的企业级网盘系统设计与实现(含毕业论文资料+优秀毕业设计) 应用组成 前端:vue-projectManage 后台:mycloud-admin 提供前端服务:mycloud ps:springcloud实现 文件在线预览服务:file...
关键词中的MOOC(Massive Open Online Course)指的是大规模开放在线课程,它是现代在线教育的一个重要形式。课程评价指的是对课程质量、教学效果等进行的分析和评估。推荐算法是指使用算法对用户可能感兴趣的内容...
分布式在线(Online)与离线(Offline)设计是大数据处理领域中的重要概念,它们主要针对大规模数据处理的不同场景和需求。本讲座的slides主题为"分布式online与offline设计",结合提供的标签“源码”和“工具”,...
### MapReduce Online 译文PDF知识点总结 #### 摘要 本文介绍了一种改进的MapReduce体系结构,即MapReduce Online(MRO),旨在通过允许数据在操作间使用管道传输来增强传统的MapReduce编程模型。这种方法不仅简化...
至于《Money Online.txt》,这个文件名看起来与Hadoop主题不直接相关,可能包含作者的额外信息,例如关于如何利用在线资源进一步学习Hadoop或者关于在线赚钱的相关讨论。 总之,《Pro Hadoop》是学习Hadoop和...
1.系统环境 调试:Win7,64bit Cluster: Linux, Centos 2.创建hadoop项目命令 mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=org.conan.myhadoop.mr -DartifactId=myHadoop -...
4. 大数据处理:了解SAS在处理大数据环境中的解决方案,如SAS Viya和Hadoop集成,以及如何使用SAS High-Performance Analytics处理分布式数据。 三、SAS认证考试准备 1. 题型分析:熟悉SAS认证考试的题型,包括...
通过“MapReduce Online”的doc文档,读者可以深入了解 Hop 项目如何实现 MapReduce 在线处理的细节,包括系统架构、算法设计以及性能优化策略。这对于想要深入理解大数据处理和分布式计算的 IT 专业人士来说是一份...