Gartner:如何选择正确的Hadoop版本

这份报告的全名是《How to Choose the Right Apache Hadoop Distribution》。主要介绍了企业如何引入Hadoop,其中一些内容很好,值得一看。

在文中Gartner分析了Hadoop的由来,并且指出,目前开源项目的方式为使用Apache Hadoop带来了挑战,因为其中的内容都是很多厂家贡献出来的,成熟度不一样,甚至一些中包含了很个性化的代码,这些代码可能只对某些厂家特殊的业务环境有效。

为此Gartner郑重地建议即使开源的版本是免费的,也最好从一个成熟的合作伙伴那里获取一份商业开源的版本来确保对Hadoop的支持。

然后Gartner介绍了如下几个提供商业版本Hadoop的厂商:

Cloudera:第一个提供商业版本的;已经在Oracle的Big Data一体机,NetApp的Open Solution for Hadoop,Dell的Cloudera Hadoop Solution和SGI的Optimized Hadoop Solution中使用,NTT在亚太地区开始支持这个版本的销售。

MapR: 增加了高可用、快照、镜像、通过NFS访问数据、控制系统、管理套件。跟EMC合作销售。跟LUCENE进行合作。

IBM’s InfoSphere BigInsights: 当前版本为1.3,在其中打包了文本分析、用于数据探索的BigSheets、开发工具。IBM扩展了M\R和灵活的调度器。并提供了一个HDFS的替代方案(GPFS),提供了企业级的安全,提供了一个基于WEB的管理界面,提供了高速数据连接器。

Hortonworks:包括了最多的组件,下一代的M\R和HDFS。跟微软合作,放在Azure中。

EMC GreenPlum HD:Greenplum MR基于MapR的M5版本。提供Greenplum Data Computing Appliance,可以跟Greenplum Database和Greenplum Data Integration Accelerator模块整合在一个集群中。1月EMC发布的Isilon储存可以添加对HDFS的自然支持,可以增强高可用和数据共享的能力。

DataStax:提供实时交互和事务分析能力(通过Apache Cassandra而不是HDFS来实现),所以是一个混合负载环境的备选方案。提供内建的容错能力。目标是消灭ETL,通过NOSQL来替代RDBMS。

其他的DBMS厂家提供了一些到Hadoop的连接器,从而将数据引入到他们的数据库中,或者将数据库中的数据导出。Teradata Aster和EMC Greenplum可以调用MR。还有一些开始提供Hadoop的版本,比如ORACLE。

对于许可证模式,Hadoop比较复杂,有的部分采用Apache的许可证模式,有的则采用自己的模式。

对于Hadoop中的组件,Gartner也做了一些描述:

Apache Hadoop和MapReduce,这个就不用介绍了,太熟悉了,是通用的组件。

Apache HDFS,也不说了

Apache Pig,提供Pig Latin的查询语言,以及一个编译器将查询语言转换为MR程序执行

Apache Hive,提供HiveQL查询语言,然后转换为MR程序执行。使得可以想数据仓库一样被查询,也可以在语言中嵌入MR代码。

Jaql,跟前两者相似,不过是IBM自己的,不是Apache中包含的。可以查询结构化和非结构化数据。为使用JSON来设计。最终编译为MR程序执行。

Apache HBase,是列的NoSQL数据库,构建在HDFS上,提供随机读和写。

Apache Cassandra,列、点对点模式的NoSQL数据库,内建复制机制,为广泛的高可用和云支持设计,允许事务和分析负载同时承载。DataStax将其作为HDFS的替代

Apache ZooKeeper,提供中央的控制信息和同步。通常为Hbase提供节点见的协调。

Apache Flume,孵化中的项目,由Cloudera提供,用于收集来自多个数据源的日志,并将它输入到中央的数据存储中,比如HDFS。

Apache Oozie,孵化中的项目,由Yahoo提供,用于工作流、调度和协调。

Apache Mahout,用于机器学习,是一个数据挖掘算法的库,包括分群、分类和过滤等。

Apache Sqoop,孵化中的项目,由Cloudera提供,提供在RDBMS和Hadoop中的批量数据传输。

Apache Whirr,一组为了运行云服务而设计的代码库,比如可以用来在AWS上部署ZooKeeper

Apache Avro,被IBM和Cloudera使用,用于数据串行化,也就是将数据转换为紧密的二进制格式(JSON)在Hadoop上存储和使用。

Hue,包括在Cloudera中,提供一个基于WEB的Job Tracker,集群监控和文件浏览。IBM在自己的BigInsights管理台中提供了这个功能。

Cascading,包括在MarR中,定义了不依赖于M\R代码的复杂工作流,底层运行在Hadoop的MR上,通常跟Hbase一起提供。非Apache项目

Apache Lucene,一个文本搜索引擎

Apache Hcatalog,孵化项目,由Hortonworks提供,实现中央的元数据和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供关系视图

Apache Ambari,提供Hadoop集群的监控、管理和生命周期管理

接着Gartner分析了两种策略,自己建立Hadoop的软件栈和选择一个有支持的商业版本。最终结论是大部分的公司都应该选择后者,除非是像大型互联网公司这种将Hadoop视为核心和长期演进的才应该选择前者。

我的想法:如果选择商业版本的,那么对于以后的标准化有没有影响呢?每次Hadoop底层模块升级或不会涉及上层应用代码的改变啊?如果不被厂商绑定呢?

FORRESTER的企业Hadoop最佳实践

这份报告的全名为《Enterprise Hadoop Best Practices:Concrete Guidelines From Early Adopters In Online Services》。

一开始文中分析了Hadoop的弱点,以及现在EDW在支持Hadoop方面的缺陷。接着他提出了几个最佳实践:

一、用Hadoop来解决大数据的问题

二、将Hadoop和企业的EDW架构进行整合。并提出最好不要建立多个Hadoop环境的竖井来处理多种应用,不要将Hadoop架构仅仅构建在一种存储上(建议用HDFS和NoSQL数据库的混合,也有RDBMS。)

三、采用成熟的企业级Hadoop和工具,建议评估商业版本,进行POC测试,并考察厂商的财务稳定性、策略方向、服务支持、合作环境等。最好问问EDW是否有这样的产品提供或者提供对这样的产品的支持

四、建立一个Hadoop卓越中心来培养技能,保持跟Hadoop社区的联系,引入咨询,雇佣专家。

[转] 如何选择正确的Hadoop版本的更多相关文章

  1. hadoop再次集群搭建(3)-如何选择相应的hadoop版本

    之前接触过很多很多hadoop版本,现在重新搭建平台,面临选择哪个版本的问题. 当我们决定是否采用某个软件用于开源环境时,通常需要考虑以下几个因素: (1)是否为开源软件,即是否免费. (2) 是否有 ...

  2. HBase各版本对Hadoop版本的支持情况

    转载自:http://blog.csdn.net/sunny05296/article/details/54089194 安装HBase时,要考虑选择正确的Hadoop版本,否则可能出现不兼容的情况. ...

  3. Hadoop版本选择

    刚开始学习Hadoop时就曾经一直抱怨Hadoop的安装部署为什么这么麻烦,对于一个新手需要捯饬一天才能把分布式环境安装配置好.而对于一个自学Hadoop而周围又没人交流的菜鸟来说,我对Hadoop的 ...

  4. 【大数据技术】操作系统和Hadoop版本选择

    1.操作系统选择 Hadoop产品是由Java语言开发的,所以推荐的是Linux操作系统,理由很简单开源免费,推荐的操作系统CentOS. CentOS是一个基于Red Hat 企业级 Linux 提 ...

  5. Hadoop版本的选择问题

    自从2013年下半年开始,hadoop的版本开始了快速的更新换代,这和通信和互联网行业(ICT)的发展是密切相关的.随着移动网络的和宽带网络的覆盖以及数据传输速率的提升,线上的数据有了爆炸式的增长.这 ...

  6. 如何选择正确的DevOps工具

    坦白的讲:世界上没有哪种工具能够像DevOps这么神奇(或敏捷,或精益).DevOps在开发和运营团队之间建立了完美的合作与沟通,因此与其说这是一种神奇的工具,不如说是一种文化的转变. 然而,团队之间 ...

  7. hadoop版本比较 [转]

    由于Hadoop版本混乱多变,因此,Hadoop的版本选择问题一直令很多初级用户苦恼.本文总结了Apache Hadoop和Cloudera Hadoop的版本衍化过程,并给出了选择Hadoop版本的 ...

  8. Pig安装及简单使用(pig版本0.13.0,Hadoop版本2.5.0)

    原文地址:http://www.linuxidc.com/Linux/2014-03/99055.htm 我们用MapReduce进行数据分析.当业务比较复杂的时候,使用MapReduce将会是一个很 ...

  9. 【云计算 Hadoop】Hadoop 版本 生态圈 MapReduce模型

    忘的差不多了, 先补概念, 然后开始搭建集群实战 ... . 一 Hadoop版本 和 生态圈 1. Hadoop版本 (1) Apache Hadoop版本介绍 Apache的开源项目开发流程 : ...

随机推荐

  1. 设计模式之适配器模式(Adapter Pattern)

    在正式开始之前,让我们先思考几个问题: 如果现有的新项目可以利用旧项目里大量的遗留代码,你打算从头开始完成新项目还是去了解旧项目的模块功能以及接口? 如果你了解过遗留代码之后,发现有几个重要的功能模块 ...

  2. c#位运算小例子笔记

    关于位运算,网上有挺多好的博客介绍过,我就不多解释了 这里只记录一个小例子,是在理解位运算时候写的,帮助自己加深一下印象,做个笔记mark一下 具体场景 摇骰子游戏 1每个骰子有6个点,1-3为小,4 ...

  3. 2D Circular Geometry Kernel ( Geometry Kernels) CGAL 4.13 -User Manual

    1 Introduction The goal of the circular kernel is to offer to the user a large set of functionalitie ...

  4. Backbone学习笔记 - Collection及Router篇

    Collection Collection可以看成是Model的集合.以下是一个集合的例子: var Song = Backbone.Model.extend({ defaults: { name: ...

  5. MyCat - 背景篇(1)

    此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. SQL与NoSQL 目前,对于互联网海量数据的存储以及处理,按使用场景,分为OLTP(联机事务处理,比如即时 ...

  6. Kettle 使用入门

    Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定. 本文介绍一个入门例子:使用Kettle从动态指定的文件名对应的文本文件里抽取 ...

  7. Socket编程概念

    一.网路套接字 在通信过程中,套接字是成对存在的,该套接字内部借助两个缓冲区实现 二.网络字序 1.存储方式 大端法(网络):高位存低位,低位存高位 小端法(本地):高位存高位,低位存低位 2.网络字 ...

  8. Mysql数据库一:安装与创建windows服务

    Mysql数据库安装与创建windows服务 1.先下载压缩包(mysql-5.7.18-winx64.zip)移动到对应目录(如D:\software)后解压. 2.安装服务端: mysqld:带d ...

  9. 了解Kafka

    Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能 高吞吐率. ...

  10. nginx代理websocket协议

    以下是代码段.location /wsapp/ {     proxy_pass http://wsbackend;     proxy_http_version 1.1;     proxy_set ...