记得刚接触到hadoop的时候跟大部分人一样都会抱怨hadoop的安装部署问题,对于一个新手来说这这的是个头疼的问题,可能需要花费一整天的时间才能把分布式环境安装配置好。在刚接触hadoop的一段时间里,可以说对于hadoop的理解一直都是停留在相对较肤浅的层面。后来随着自己的不断摸索以及向圈内的前辈大神请教交流(主要是向大神请教学来的),自己对于hadoop的认识以及应用也就更加娴熟。

作为一个过来人,在这里给新人分享一些关于hadoop版本选择的问题,希望别像我当时傻乎乎的只知道hadoop有1.0.x和2.x版本。

当前hadoop的发行版本除了Apache的开元版本之外,华为发行版、Intel发行版以及Cloudera发行版等。上面说的这几个第三方的发行版已经有相对较长的一些时间,除此之外还有最近几年异军突起的DKhadoop商业发行版。

国内的大多数公司推出的Hadoop发行版都是收费的,免费的发行版则主要是国外的,比如Apache的发行版、Cloudera发行版等。面对如此多的hadoop版本不免会让人难以选择。下面我们就简单对比一些这些不同版本的优缺点,希望对于新手能够有所帮助。

Apache发行版:

优点:Apache发行版的优点主要集中表现在它的完全开源免费、社区活跃性以及文档、资料详实等方面。

缺点:Apache发行版的缺点也相对较多,具体表现在以下几个方面:

  1. 复杂的版本管理。版本管理比较混乱,各种版本层出不穷,让使用者不知所措。
  2. 复杂的集群部署、安装、配置。通常按照集群需要编写大量的配置文件,分发到每一台节点上,容易出错,效率低下。
  3. 复杂的集群运维。对集群的监控,运维,需要安装第三方的其他软件,如ganglia,nagois等,运维难度较大。
  4. 复杂的生态环境。在Hadoop生态圈中,组件的选择、使用,比如Hive,Mahout,Sqoop,Flume,Spark,Oozie等等,需要大量考虑兼容性的问题,版本是否兼容,组件是否有冲突,编译是否能通过等。经常会浪费大量的时间去编译组件,解决版本冲突问题。

第三方发行版本的优缺点:(如CDH,HDP,MapR等

优点:第三方发行版本的优点主要有以下几个:

  1. 基于Apache协议,100%开源;
  2. 相较于原生的hadoop在兼容性、安全型以及稳定性方面有所提升;
  3. 版本管理清晰,更新更快;
  4. 提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群;
  5. 运维简单。提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确,使运维工作简单,有效。

缺点:第三方hadoop发行版的主要缺点就是涉及到厂商锁定的问题,但这一问题可以通过技术方面解决掉。

DKhadoop发行版:

Dkhadoop发行版是我目前接触的以及使用一个版本。与市场的其他第三方的发行版本相比较,整合程度要更高,但同样也保持了开源系统的全部优点。综合目前使用的情况看,在性能上相较于以往使用的一些第三方hadoop发行版要提升很多的!关于DKhadoop发行版的问题,感兴趣的可以自己去查阅收集一些资料看看。

hadoop商业版本的选择介绍的更多相关文章

  1. hadoop最新版本介绍之dkhadoop版本选择

    Hadoop对于从事互联网工作的朋友来说已经非常熟悉了,相信在我们身边有很多人正在转行从事hadoop开发的工作,理所当然也会有很多hadoop入门新手.Hadoop开发太过底层,技术难度远比我们想象 ...

  2. Hadoop发行版本介绍

    前言 从2011年开始,中国进入大数据风起云涌的时代,以Hadoop为代表的家族软件,占据了大数据处理的广阔地盘.开源界及厂商,所有数据软件,无一不向Hadoop靠拢.Hadoop也从小众的高富帅领域 ...

  3. Hadoop版本的选择问题

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

  4. hadoop发行版本之间的区别

    Hadoop是一个能够对大量数据进行分布式处理的软件框架. Hadoop 以一种可靠.高效.可伸缩的方式进行数据处理.Hadoop的发行版除了有Apache hadoop外cloudera,horto ...

  5. Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

    一.前言 目前Hadoop发行版非常多,所有这些发行版均是基于Apache Hadoop衍生出来的,之所以有这么多的版本,完全是由Apache Hadoop的开源协议决定的:任何人可以对其进行修改,并 ...

  6. Flyway:数据库版本迁移工具的介绍

    目录 Flyway介绍 Flyway的工作模式 Flyway的使用场景 命令行 使用Maven或Gradle插件 migrate clean info validate baseline Java A ...

  7. 码农飞升记-02-OracleJDK是什么?OracleJDK的版本怎么选择?

    目录 1.Oracle JDK 是什么? 2.Oracle JDK 版本如何选择? 1.Java SE 发布节奏以及不同版本的差距 1.Java SE 8 以及之前版本的发布节奏和不同版本的差距 1. ...

  8. 【转载】hadoop的版本问题

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:阿笨猫      原文地址:http://www.cnblogs.com/xu ...

  9. SHELL种类,版本及选择

    SHELL种类,版本及选择 凡是使用 *INX 的人,不论是作为 login shell 还是编程,多少都要接触到 Shell.经过多年的发展, Shell 的种类繁多.除了我们熟悉的 sh.ksh. ...

随机推荐

  1. __new__() 与__init__()的区别

    __new__作用于__init__之前.前者可以决定是否调用后者,或者说可以决定调用那个类的__init__方法. 首先要知道在面向对象编程中,实例化基本遵循创建实例对象,初始化实例对象,最后返回实 ...

  2. C# string 与 String的区别

    C# string 与 String的区别 The string type represents a string of Unicode characters. string is an alias ...

  3. Android驱动中的remap_pfn_range()校验漏洞(CVE-2013-2596)

    简单介绍 当然类似函数还有io_remap_pfn_range(). remap_pfn_range() 为用户态提供了一种手段访问内核地址空间.它通过新页表,将一块内核物理内存映射到用户态进程空间. ...

  4. 查询表Or列的注释信息

    需求:开发人员需要DBA支持,查询表的注释说明,用于明确表的用途. 1.测试 session 1 创建测试表SQL> create table a_emp as select * from sc ...

  5. 【计算机视觉】KCF算法

    code opencv3.3.1-contrib  ---- TrackerKCF.cpp opencv如何更新目标区域的过程: // calculate filter response if(par ...

  6. JAVA基础部分复习(六、常用关键字说明)

    /** * JAVA中常用关键字复习 * final * finalize * finally * * @author dyq * */ public class KeyWordReview exte ...

  7. linux入门001--帮助支持

    linux入门001--帮助支持====1. 帮助手册提供命令的使用说明:man ls提供基础知识和参考信息,有时会有实例和交叉索引,但是基本没有教程式的文档.就是说,并不会有偏重告诉你那个重要,那个 ...

  8. python django day 2

    django-admin.py startproject zqxt_viewscd zqxt_viewspython manage.py startapp calczqxt_views/urls.py ...

  9. 基于BP的B/S架构破解

    思路历程: 1.获取用户名 2.获取密码字典 3.使用BP爆破 案例: 管理人员在平时的网络生活中没有良好的个人信息保护,让不法份子有机可乘.例如WordPress等的类似网站使用PHP开发,虽然功能 ...

  10. 使用ionic开发时用遇到监听手机返回按钮的问题~

    当时用的是ionic开发一个app,需求是,当按下手机的返回按钮,在指定的页面双击退出,而在其他页面点击一次返回到上个页面: 其实用ionic自带的服务就可以解决:  //双击退出   $ionicP ...