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

1. Apache Hadoop

1.1  Apache版本衍化

截至目前(2012年12月23日),Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0。第一代Hadoop包含三个大版本,分别是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版,而0.21.x和0.22.x则NameNode HA等新的重大特性。第二代Hadoop包含两个版本,分别是0.23.x和2.x,它们完全不同于Hadoop 1.0,是一套全新的架构,均包含HDFS Federation和YARN两个系统,相比于0.23.x,2.x增加了NameNode HA和Wire-compatibility两个重大特性。

经过上面的大体解释,大家可能明白了Hadoop以重大特性区分各个版本的,总结起来,用于区分Hadoop版本的特性有以下几个:

(1)Append 支持文件追加功能,如果想使用HBase,需要这个特性。

(2)RAID 在保证数据可靠的前提下,通过引入校验码较少数据块数目。详细链接:

https://issues.apache.org/jira/browse/HDFS/component/12313080

(3)Symlink 支持HDFS文件链接,具体可参考: https://issues.apache.org/jira/browse/HDFS-245

(4)Security Hadoop安全,具体可参考:https://issues.apache.org/jira/browse/HADOOP-4487

(5) NameNode HA 具体可参考:https://issues.apache.org/jira/browse/HDFS-1064

(6) HDFS Federation和YARN

需要注意的是,Hadoop 2.0主要由Yahoo独立出来的hortonworks公司主持开发。

1.2  Apache版本下载

(1) 各版本说明:http://hadoop.apache.org/releases.html。

(2) 下载稳定版:找到一个镜像,下载stable文件夹下的版本。

(3) Hadoop最全版本:http://svn.apache.org/repos/asf/hadoop/common/branches/,可直接导到eclipse中。

2. Cloudera Hadoop

2.1  CDH版本衍化

Apache当前的版本管理是比较混乱的,各种版本层出不穷,让很多初学者不知所措,相比之下,Cloudera公司的Hadoop版本管理的要很多。

我们知道,Hadoop遵从Apache开源协议,用户可以免费地任意使用和修改Hadoop,也正因此,市面上出现了很多Hadoop版本,其中比较出名的一是Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。截至目前为止,CDH共有4个版本,其中,前两个已经不再更新,最近的两个,分别是CDH3(在Apache Hadoop 0.20.2版本基础上演化而来的)和CDH4在Apache Hadoop 2.0.0版本基础上演化而来的),分别对应Apache的Hadoop 1.0和Hadoop 2.0,它们每隔一段时间便会更新一次。

Cloudera以patch level划分小版本,比如patch level为923.142表示在原生态Apache Hadoop 0.20.2基础上添加了1065个patch(这些patch是各个公司或者个人贡献的,在Hadoop jira上均有记录),其中923个是最后一个beta版本添加的patch,而142个是稳定版发行后新添加的patch。由此可见,patch level越高,功能越完备且解决的bug越多。

Cloudera版本层次更加清晰,且它提供了适用于各种操作系统的Hadoop安装包,可直接使用apt-get或者yum命令进行安装,更加省事。

2.2 CDH版本下载

(1) 版本含义介绍:

https://ccp.cloudera.com/display/DOC/CDH+Version+and+Packaging+Information

(2)各版本特性查看:

https://ccp.cloudera.com/display/DOC/CDH+Packaging+Information+for+Previous+Releases

(3)各版本下载:

CDH3:http://archive.cloudera.com/cdh/3/

CDH4:http://archive.cloudera.com/cdh4/cdh/4/

注意,Hadoop压缩包在这两个链接中的最上层目录中,不在某个文件夹里,很多人进到链接还找不到安装包!

3. 如何选择Hadoop版本

当前Hadoop版本比较混乱,让很多用户不知所措。实际上,当前Hadoop只有两个版本:Hadoop 1.0和Hadoop 2.0,其中,Hadoop 1.0由一个分布式文件系统HDFS和一个离线计算框架MapReduce组成,而Hadoop 2.0则包含一个支持NameNode横向扩展的HDFS,一个资源管理系统YARN和一个运行在YARN上的离线计算框架MapReduce。相比于Hadoop 1.0,Hadoop 2.0功能更加强大,且具有更好的扩展性、性能,并支持多种计算框架。

当我们决定是否采用某个软件用于开源环境时,通常需要考虑以下几个因素:

(1)是否为开源软件,即是否免费。

(2) 是否有稳定版,这个一般软件官方网站会给出说明。

(3) 是否经实践验证,这个可通过检查是否有一些大点的公司已经在生产环境中使用知道。

(4) 是否有强大的社区支持,当出现一个问题时,能够通过社区、论坛等网络资源快速获取解决方法。

考虑到以上几个因素,我们分析一下开源软件Hadoop。对于Hadoop 2.0而言,目前尚不稳定,无法用于生产环境,因此,如果当前你正准备使用Hadoop,那么只能从Hadoop 1.0中选择一个版本,而目截至目前(2012年12月23日),Apache和Cloudera最新的稳定版分别是Hadoop 1.0.4和CDH3U4,因此,你可以从中任选一个使用。如今Hadoop 2.0已经发布了最新的稳定版2.2.0,推荐使用该版本,具体介绍可阅读:“Hadoop 2.0稳定版本2.2.0新特性剖析”,升级方法可参考:“Hadoop升级方案(二):从Hadoop 1.0升级到2.0(1)”。

原创文章,转载请注明: 转载自董的博客

本文链接地址: http://dongxicheng.org/mapreduce-nextgen/how-to-select-hadoop-versions/

Hadoop版本选择探讨相关推荐

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

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

  2. hadoop商业版本选择对比

    记得刚接触到hadoop的时候跟大部分人一样都会抱怨hadoop的安装部署问题,对于一个新手来说这这的是个头疼的问题,可能需要花费一整天的时间才能把分布式环境安装配置好.在刚接触hadoop的一段时间 ...

  3. 大快网站:如何选择正确的hadoop版本

    大快网站:如何选择正确的hadoop版本 Hadoop的环境安装部署是所有刚开始学习hadoop必然要面对的一个问题,对于新手而言基本不会一次性部署成功,甚至可能要花费好几天的时间才能完成hadoop ...

  4. hadoop最新稳定版本dkhadoop版本选择介绍

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

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

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

  6. 黑猴子的家:如何选择Hadoop版本?

    当前Hadoop版本比较混乱,让很多用户不知所措.实际上,当前Hadoop只有两个版本:Hadoop 1.0和Hadoop 2.0,其中,Hadoop 1.0由一个分布式文件系统HDFS和一个离线计算 ...

  7. 自学大数据:用以生产环境的Hadoop版本比较

    一.背景介绍 生产环境中,hadoop的版本选择是一个公司架构之时,很重要的一个考虑因素.这篇文章根据就谈谈现在主流的hadoop版本的比较.如果有不同意见,或者指正,希望大家能交流. Apache ...

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

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

  9. Apache Hadoop版本详解

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

最新文章

  1. 第6章——广度优先搜索
  2. MYSQL因为索引问题导致的死锁分析
  3. Ubuntu 12.10 下 详细Netbeans安装配置篇 (下)
  4. Access和sql server的语法区别
  5. python中swap函数_python swap
  6. phpcmsV9 首页调用全站最新文章(受模型限制)
  7. 安卓应用安全指南 4.2.3 创建/使用广播接收器 高级话题
  8. java day57【 Spring 概述 、 IoC 的概念和作用、使用 spring 的 IOC 解决程序耦合 】...
  9. Opencv 相机视图中的固定框中找到直线用lsd算法
  10. 【Format】ASF/WMV 文件格式解析
  11. 【转载】如何打领带-普瑞特结
  12. 【FOMO3d】 的隐藏彩(lou)蛋(dong)
  13. 奉劝想把编程学好的学弟们 · 如何高效学习编程?
  14. input输入框的原生事件
  15. sed正则表达式替换字符方法
  16. pass by value 与pass by reference 小结
  17. vs为什么打了断点不断_2019年亚洲羽毛球锦标赛决赛焦点对阵:桃田贤斗VS石宇奇 松本麻佑/永原和可那VS陈清晨/贾一凡 山口茜VS何冰娇...
  18. 如何提高条形码识别率
  19. 微积分知识点回顾与总结(八):重积分
  20. 达芬奇调色技术:调色快速入门基础

热门文章

  1. Java 8 - Optional全解
  2. RocketMQ-初体验RocketMQ(01)_RocketMQ初体验
  3. Snackbar-Android M新控件
  4. Android获取SDK的版本信息
  5. eclipse 翻译插件_这两个IDE插件,可以让你写出质量杠杠的代码
  6. 运行VC++6.0出现error LNK2001: unresolved external symbol _WinMain@16
  7. 剑指offer06.从尾到头打印链表
  8. python 接雨水
  9. python 跳水板
  10. Kotlin1.6.20好用的新特性:多receiver扩展函数,绝不可空类型,并行编译kotlin减少编译时间