由于Hadoop版本混乱多变,因此,Hadoop的版本选择问题一直令很多初级用户苦恼。本文总结了Apache Hadoop和Cloudera Hadoop的版本衍化过程,并给出了选择Hadoop版本的一些建议。
1.Apache Hadoop
1.1Apache版本衍化
截至目前(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.2Apache版本下载
(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.1CDH版本衍化
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.2CDH版本下载
(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,因此,你可以从中任选一个使用。
作者:Dong,作者介绍:http://dongxicheng.org/about/
本博客的文章集合:http://dongxicheng.org/recommend/
分享到:
相关推荐
这里我们将探讨如何在Windows 10上安装和配置Hadoop 2.6.1。 首先,你需要下载Apache Hadoop的二进制发行版,比如`apache-hadoop-2.6.1`。这个压缩包包含了Hadoop的所有核心组件,包括HDFS(Hadoop Distributed ...
【Hadoop架构再探讨】 Hadoop作为开源大数据处理框架,其发展历程中经历了多次优化与升级,以应对大数据处理中的各种挑战。本章主要探讨Hadoop的优化与发展,重点关注HDFS2.0的新特性、新一代资源管理调度框架YARN...
本文将深入探讨Hadoop 2.4.1在大数据处理中的应用,以及如何搭建一个单机模拟分布式Hadoop环境。 一、Hadoop概述 Hadoop是由Apache基金会开发的一个开源项目,其设计灵感来源于Google的MapReduce和GFS(Google ...
因此,在选择Hadoop和HBase的版本时,应参考官方文档或社区的最佳实践。此外,持续监控和维护也是保证系统稳定运行的关键,包括定期更新补丁、优化配置以及监控资源使用情况。 总之,正确安装和配置Hadoop Common ...
这里我们将详细探讨"Windows hadoop2.7.5版本运行环境"的相关知识点。 首先,Hadoop 2.7.5是Hadoop生态系统中的一个稳定版本,它提供了许多改进和修复,增强了性能和稳定性。这个版本包含了Hadoop的两个核心组件:...
在本文中,我们将深入探讨Hadoop的最新版本0.23.0,了解其特性、改进以及如何下载和使用。 首先,Hadoop的核心组件主要包括两个:Hadoop Distributed File System (HDFS) 和 MapReduce。HDFS是一种分布式文件系统,...
本文将深入探讨Hadoop 2.7.2的主要组件、功能以及在Linux环境下的安装与使用。 一、Hadoop生态系统概述 Hadoop由两个主要部分组成:Hadoop分布式文件系统(HDFS)和MapReduce。HDFS为大规模数据提供了高容错性和高...
本文将详细探讨与"Hadoop.dll"和"winutils.exe"相关的知识点,以及它们在Hadoop-2.7.1版本中的作用。 Hadoop.dll是Hadoop在Windows操作系统上的一个关键组件,它是Apache Hadoop对Windows平台的适配部分。由于...
在本文中,我们将深入探讨Hadoop 2.7.3与Mahout 0.9集成过程中可能遇到的问题,以及如何解决这些技术挑战。Hadoop是一个开源的分布式计算框架,而Mahout是基于Hadoop的数据挖掘库,专注于机器学习算法。这两者的结合...
在本主题中,我们将深入探讨“hadoop早期版本”,尤其是`hadoop-0.18.3`这一里程碑式的版本。 一、Hadoop概述 Hadoop的核心思想是通过分布式存储系统HDFS(Hadoop Distributed File System)和MapReduce计算模型,...
在本文中,我们将详细探讨如何在Linux环境下安装Hadoop 2.7.7,这是一个广泛使用的开源分布式计算框架。在安装过程中,我们会遇到各种问题,但通过学习和实践,我们可以克服这些困难,从而深入理解Hadoop及其依赖...
在本文中,我们将深入探讨如何在Windows 10操作系统中使用Hadoop 2.7.3版本进行开发,特别关注“hadoop.dll”和“winutils.exe”这两个关键组件。Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在...
本文将深入探讨如何使用MyEclipse进行Hadoop插件开发,并详细解析Hadoop-eclipse-plugin-2.6.0.jar这一关键组件。 首先,我们了解下MyEclipse。它基于Eclipse平台,扩展了对Java、Web、J2EE、数据库等多种开发需求...
本文将深入探讨这两个文件的作用、用途以及如何在Hadoop 2.7.2版本及其以下版本中安装和配置它们。 `winutils.exe`是Hadoop在Windows系统上的一个实用工具,它提供了与Linux环境下`bin/hadoop`命令类似的功能。这个...
下面我们将深入探讨Hadoop的基本概念、2.8.1版本的特点以及WinUtils在Hadoop中的作用。 Hadoop是一个开源框架,最初由Apache软件基金会开发,基于Java实现。它主要由两个关键部分组成:HDFS(Hadoop Distributed ...
本文将详细探讨Hadoop 3.1.3版本与JDK 1.8在Linux操作系统中的集成与应用。 首先,我们来看JDK 1.8。这是Oracle公司发布的Java语言开发工具包的一个重要版本,它引入了许多新特性,如Lambda表达式、Stream API、...
现在,我们探讨一下这些文件与Hadoop-2.8.0的关系: **Hadoop-2.8.0** 是Hadoop的一个特定版本,发布于2017年,它带来了许多改进和新特性。例如,性能优化、YARN(Yet Another Resource Negotiator)的增强、更强大...
本文将深入探讨三个关键组件:hadoop.dll、hadoop.exp和winutils.exe,以及它们在64位系统中的应用。这些组件主要用于在Windows平台上搭建和运行Hadoop。 首先,hadoop.dll是一个动态链接库(DLL)文件,它是Hadoop...
在这个场景中,我们关注的是Hadoop的3.1.1版本的安装和配置,这涉及到几个关键的工具包和组件。让我们详细探讨一下这些知识点。 首先,`winutils.exe`是Hadoop在Windows环境下运行所必需的一个实用程序,它提供了与...
本文主要探讨了Hadoop的不同发行版本及其特点,帮助用户选择适合的版本。 1. **1.xx发行版本系列**:这是0.x20系列的延续,包含了最稳定的Hadoop发行版本。这个系列引入了Kerberos安全认证,确保了只有经过授权的...