hadoop最新稳定版本使用建议

Apache Hadoop

Apache版本衍化比较快,我给大家介绍一下过程

ApacheHadoop版本分为两代,我们将第一代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增加了NameNodeHA和Wire-compatibility两个重大特性。经过上面的大体解释,大家可能明白了Hadoop以重大特性区分各个版本的,总结起来,用于区分Hadoop版本的特性有以下几个:

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

(2)RAID 在保证数据可靠的前提下,通过引入校验码较少数据块数目.

(3)Symlink支持HDFS文件链接

(4)Security Hadoop安全。

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

2013年10月,Hadoop 2.0发布。关键特性包括:

a) YARN

YARN是“YetAnother Resource Negotiator”的简称,它是Hadoop 2.0引入的一个全新的通用资源管理系统,可在其之上运行各种应用程序和框架,比如MapReduce、Tez、Storm等,它的引入使得各种应用运行在一个集群中成为可能。YARN是在MRv1基础上衍化而来的,是MapReduce发展到一定程度的必然产物,它的出现使得Hadoop计算类应用进入平台化时代,我的博客中包含大量介绍YARN的文章,有兴趣的读者可阅读:http://dongxicheng.org/category/mapreduce-nextgen/

b) HDFS单点故障得以解决

Hadoop2.2.0同时解决了NameNode单点故障问题和内存受限问题,其中,单点故障是通过主备NameNode切换实现的,这是一种古老的解决服务单点故障的方案,主备NameNode之间通过一个共享存储同步元数据信息,因此共享存储系统的选择称为关键,而Hadoop则提供了NFS、QJM和Bookeeper三种可选的共享存储系统,具体可阅读我的这篇文章:Hadoop 2.0单点故障问题方案总结。

c)HDFS Federation

前面提到HDFS的NameNode存在内存受限问题,该问题也在2.2.0版本中得到了解决。这是通过HDFS Federation实现的,它允许一个HDFS集群中存在多个NameNode,每个NameNode分管一部分目录,而不同NameNode之间彼此独立,共享所有DataNode的存储资源,注意,NameNode Federation中的每个NameNode仍存在单点问题,需为每个NameNode提供一个backup以解决单点故障问题。

d)HDFS快照

HDFS快照是指HDFS文件系统(或者子系统)在某一时刻的只读镜像,它的出现使得管理员可定时为重要文件或目录做快照,以防止数据误删、丢失等。具体可阅读:Snapshots for HDFS(使用说明),Support for RW/ROsnapshots in HDFS。

通过NFSv3访问HDFS

NFS允许用户像访问本地文件系统一样访问远程文件系统,而将NFS引入HDFS后,用户可像读写本地文件一样读写HDFS上的文件,大大简化了HDFS使用,这是通过引入一个NFS gateway服务实现的,该服务能将NFS协议转换为HDFS访问协议,具体如下图所示。有兴趣的读者可阅读:Support NFSv3interface to HDFS,以及相关设计文档:HDFS NFS Gateway。

e)支持Windows操作系统

在2.2.0版本之前,Hadoop仅支持Linux操作系统,而Windows仅作为实验平台使用。从2.2.0开始,Hadoop开始支持Windows操作系统,具体可阅读我之前写的一篇文章:Hadoop For Windows。

f)兼容1.x上运行的MapReduce应用程序与Hadoop生态系统其他系统进行了充分的集成测试

除了HDFS、MapReduce和YARN这三个核心系统外,Hadoop生态系统还包括Hbase、Hive、Pig等系统,这些系统底层依赖于Hadoop内核,而相比于Hadoop 1.0,Hadoop 2.0的最大变化出现在内核(HDFS、MapReduce和YARN),但与生态系统中其他系统进行集成测试是必需的。

除了以上特性外,Apache官方还给出了两个特殊说明:

(1)HDFS变化:HDFS的symlinks(类似于Linux中的软连接)被将移到了2.3.0版本中

(2)YARN/MapReduce注意事项:管理员在NodeManager上设置ShuffleHandler service时,要采用“mapreduce_shuffle”,而非之前的“mapreduce.shuffle”作为属性值

新版本不仅增强了核心平台的大量功能,同时还修复了大量bug。新版本对HDFS做了两个非常重要的增强:(1)、支持异构的存储层次;(2)、通过数据节点为存储在HDFS中的数据提供了内存缓存功能。

借助于HDFS对异构存储层次的支持,我们将能够在同一个Hadoop集群上使用不同的存储类型。此外我们还可以使用不同的存储媒介——例如商业磁盘、企业级磁盘、SSD或者内存等——更好地权衡成本和收益。如果你想更详细地了解与该增强相关的信息,那么可以访问这里。类似地,在新版本中我们还能使用Hadoop集群中的可用内存集中地缓存并管理数据节点内存中的数据集。MapReduce、Hive、Pig等类似的应用程序将能够申请内存进行缓存,然后直接从数据节点的地址空间中读取内容,通过完全避免磁盘操作极大地提高扫描效率。Hive现在正在为ORC文件实现一个非常有效的零复制读取路径,该功能就使用了这项新技术。

在YARN方面,令我们非常兴奋的事情是资源管理器自动故障转移功能已经进入尾声,虽然在2.3.0这个版本中该功能还没有被发布,但是极有可能会包含在Hadoop-2.4中。此外,2.3.0版本还对YARN做了一些关键的运维方面的增强,例如更好的日志、错误处理和诊断等。

MapReduce的一个关键增强MAPREDUCE-4421。借助于该功能我们已经不再需要在每一台机器上安装MapReduce二进制程序,仅仅需要通过YARN分布式缓存将一个MapReduce包复制到HDFS中就可以了。当然,新版本还包含大量的bug修复以及其他方面的增强。例如:

(1)YarnClientImpl类中的异步轮询操作引入了超时;

(2)修复了RMFatalEventDispatcher没有记录事件原因的问题;

(3)HA配置不会影响节点管理器的RPC地址;

(4)RM Web UI和REST API统一使用YarnApplicationState;

(5)在RpcResponseHeader中包含RPC错误信息,而不是将其分开发送;

(6)向jetty/httpserver中添加了请求日志;

(7)修复了将dfs.checksum.type定义为NULL之后写文件和hflush会抛出java.lang.ArrayIndexOutOfBoundsException的问题。

2014年4月,Hadoop 2.4.0发布。关键特性包括:

(1)HDFS支持访问控制列表(ACLs,Access Control Lists);

(2)原生支持HDFS滚动升级;

(3)HDFS FSImage用到了 protocol-buffers,从而可以平滑地升级;

(4)HDFS完全支持HTTPS;

(5)YARN ResourceManager支持自动故障转移,解决了YARNResourceManager的单点故障;

(6)对YARN的Application History Server和 pplication Timeline Server上的新应用加强了支持;

(7)通过抢占使得YARN Capacity Scheduler支持强SLAs协议;

安全对于Hadoop来说至关重要,所以在Hadoop 2.4.0版本中对HDFS的所有访问(包括WebHDFS, HsFTP甚至是web-interfaces)都支持了HTTPS。在Hadoop 2.4.0解决了ResourceManager的单点故障。这样会在集群中存在两个ResourceManager,其中一个处于Active;另一个处于  standby。当Active的出现故障,这样Hadoop可以自动平滑地切换到另外一个ResourceManager,这个新的ResourceManager将会自动的重启那些提交的applications。在下一阶段,Hadoop将会增加一个热standby(add a hot standby),这个standby可以继续从故障点运行的应用程序,以保存任何已经完成的工作。

2014年8月,Hadoop 2.5.0发布。关键特性包括:

1. Common

a) 使用HTTP代理服务器时认证改进。当通过代理服务器使用WebHDFS时这是非常有用的。

b) 增加了一个新的Hadoop指标监控sink,允许直接写到Graphite。

c) Hadoop文件系统兼容相关的规范工作。

2. HDFS

a) 支持POSIX风格的扩展文件系统。更多细节查看Extended Attributes in HDFS文档。

b) 支持离线image浏览,客户端现在可以通过WebHDFS的API浏览一个fsimage。

c) NFS网关得到大量可支持性的改进和bug修复。Hadoop portmapper不在需要运行网关,网关现在可以拒绝没有权限的端口的连接。

d)SecondaryNameNode, JournalNode, and DataNode 的web UI已经使用HTML5和JS美化。

3. YARN

a) YARN的RESTAPI现在支持写/修改操作。用户可以用REST API提交和杀死应用程序。

b) 时间线存储到YARN,用来存储一个应用通用的和特殊的信息,支持Kerberos认证。

c) 公平调度器支持动态分层用户队列,运行时,用户队列在任一指定的父队列中被动态的创建。

2014年11月,Hadoop 2.6.0发布。(推荐使用)

是市场上企业应用最多,与其它发行版结合最好的版本,推荐大家用这个版本。

关键特性包括:

1. Common

Hadoop Key Management Server(KMS)是一个基于HadoopKeyProvider API编写的密钥管理服务器。他提供了一个client和一个server组件,client和server之间基于HTTP协议使用REST API通信。Client是一个KeyProvider的实现,使用KMS HTTP REST API与KMS交互。KMS和它的client有内置的安全机制,支持HTTP SPNEGO Kerberos认证和HTTPS安全传输。KMS是一个Java Web应用程序,运行在与Hadoop发行版绑定在一起的预先配置好的Tomcat服务器上。

2. Tracing

HDFS-5274增加了追踪通过HDFS的请求的功能,此功能使用了开源的库,HTrace。大家可以看一下HTrace,功能很强大,Cloudera开源出来的。

3. HDFS

a) TransparentEncryption,HDFS实现了一个透明的,端到端的加密方式。一旦配置了加密,从HDFS读出数据解密和写入数据加密的过程对用户应用程序代码带来说都是透明的。加密过程是端到端的,这意味着数据只能在客户端被加密解密。HDFS从来不存储,也不访问未加密的数据和数据加密密钥。这样满足了加密过程的两个典型的需求:at-rest encryption(静态加密,也就是说,数据持久化在像硬盘这样的媒介上),in-transit encryption(在途加密,例如,当数据在网络中传输的时候)。

b) StorageSSD&& Memory。ArchivalStorage(档案存储器)是将计算能力与不断增长的存储能力分离。拥有高密度低成本的存储但是计算能力较低的节点将变得可用,可以在集群中做冷存储。增加更多的节点作为冷存储可以提高集群的存储能力,跟集群的计算能力无关。

4. MapReduce

这一部分主要是一些bug的修复和改进。增加了两个新的新特,在2.5.2里已经有所描述了。这里在简单看一下。

a) ResourceMangerRestart

b) 允许AM发送历史事件信息到timeline server。

5. YARN

a) NodeManagerRestart:这个特性可以使NodeManager在不丢失运行在节点中的活动的container的情况下重新启动。

b) DockerContainer Executor:DockerContainer Executor(DCE)允许YARN NodeManager在Docker container中启动YARN container。用户可以指定他们想用来运行YARN container的Docker的镜像。这些container提供了一个可以自定义的软件环境,用户的代码可以运行在其中,与NodeManager运行的环境隔离。这些运行用户代码的container可以包含应用程序需要的特定的库,它们可以拥有与NodeManager不同版本的Perl,Python甚至是Java。事实上,这些container可以运行与NodeManager所在的OS不同版本的Linux。尽管YARNcontainer必须定义运行Job所需的所有的环境和库,但是NodeManager中的所有的东西都不会共享。

Docer为YARN提供了一致和隔离两种模式,一致模式下,所有的YARN container将拥有相同的软件环境,在隔离模式下,不管物理机器安装了什么都不干扰。

2015年7月,Hadoop 2.7.0发布。关键特性包括:

1. Common

支持WindowsAzure Storage,BLOB作为Hadoop中的文件系统。

Hadoop HDFS

a) 支持文件截断(file truncate);

b) 支持每个存储类型配额(Support for quotas per storage type);

c) 支持可变长度的块文件

2. YARN

1、YARN安全模块可插拔

a)YARN的本地化资源可以自动共享,全局缓存(测试版)

HadoopMapReduce

b)能够限制运行的Map/Reduce作业的任务

c)为非常的大Job(有许多输出文件)加快了FileOutputCommitter。

2. HDFS

a) 支持文件截断(file truncate);

b) 支持每个存储类型配额(Support for quotas per storage type);

c) 支持可变长度的块文件

2. MAPREDUCE

a) 能够限制运行的Map/Reduce作业的任务

b) 为非常的大Job(有许多输出文件)加快了FileOutputCommitter。

2015年7月,Hadoop 2.7.1发布。关键特性包括:

本版本属于稳定版本,是自Hadoop 2.6.0以来又一个稳定版,同时也是Hadoop 2.7.x版本线的第一个稳定版本,也是 2.7版本线的维护版本,变化不大,主要是修复了一些比较严重的Bug(其中修复了131个Bugs和patches)

时间: 2024-10-16 05:46:20

hadoop最新稳定版本使用建议的相关文章

centos7 docker升级到最新稳定版本

原文:centos7 docker升级到最新稳定版本 一.前言 docker的版本分为社区版docker-ce和企业版dokcer-ee社,区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施.容器.插件,当然docker的版本更新比较快,截止2018.12最新版本是18.09,如果你的机器上安装了老版本的docker,那么就需要卸载,本文介绍如何完全的卸载老版本以及安装新版本docker. 二.删除老版本 停止docker服务 systemc

在ubuntu上安装最新稳定版本的node及npm

最新版本安装方法 今日捣鼓了一下ubuntu,发现nodejs总是没法升级到最新版,捣鼓了几个小时,记录一下. 1.安装npm sudo apt install npm 2.升级npm为最新版本 sudo npm install [email protected] -g 此时通过npm -v可以发现npm版本号为最新版本4.10.3; 3.安装用于安装nodejs的模块n sudo npm install -g n 4.然后通过n模块安装指定版本的nodejs,n模块更多介绍请参考官方文档 //

centos 安装最新稳定版本docker

直接yum安装的docker版本是 : docker --versionDocker version 1.12.6, build 85d7426/1.12.6 一些新特性需要安装最新的稳定版本 国内可以用镜像加速,可以参考我的另外一篇blog http://www.cnblogs.com/zhishuai/p/8013137.html 以下流程主要整理自docker中国官方站,简单梳理下流程 https://docs.docker-cn.com/engine/installation/linux

Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装

 Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapReduce而开发的一系列上层应用软件. hdfs是在一个网络中以流式数据访问模式来存储超大文件的跨越多台计算机的分布式文件系统.目前支持的超大文件的范围为从MB级至PB级. MapReduce是一种可用于数据处理的编程模型,基于MapReduce模型的程序本质上都是并行运行的.基于MapReduce

hadoop最新发行稳定版:DKHadoop版本选择详解

hadoop最新发行稳定版:DKHadoop版本选择详解 Hadoop对于从事互联网工作的朋友来说已经非常熟悉了,相信在我们身边有很多人正在转行从事hadoop开发的工作,理所当然也会有很多hadoop入门新手.Hadoop开发太过底层,技术难度远比我们想象的要大,对新手而言选择一个合适的hadoop版本就意味着上手更快! Hadoop是由Apache基金会所开发的分布式系统基础架构,它最核心的设计就是HDFS和MapReduce.HDFS为海量的数据提供了存储,则MapReduce为海量的数据

汉澳sinox2015发布,成熟稳定版本,适合大规模部署

汉澳sinox2015发布是因为出现了严重bash shellshock漏洞,趁用户还没很多及时发布修复版本,有利于维护sinox安全可靠的形象,也是为了迎接中国用户大规模部署,打造一个安全放心的操作系统.汉澳sinox2015是成熟稳定版本,适合大规模部署. 汉澳sinox2015第一次在sinox操作系统上开发编译,从而脱离了bsd unix系统,开始了独立自主的发展道路. 汉澳sinox是基于bsd unix成熟稳定内核,支持 bsd unix,兼容linux,适度支持windows的高度

DIOCP开源项目-DIOCP3的重生和稳定版本发布

DIOCP3的重生 从开始写DIOCP到现在已经有一年多的时间了,最近两个月以来一直有个想法做个 30 * 24 稳定的企业服务端架构,让程序员专注于逻辑实现就好.虽然DIOCP到现在通讯层已经很稳定了,但是要做如果做这种架构,发现还有诸多不便.于是,有了重写DIOCP的想法. 关于开源服务器的选用: 前段时间大部分代码已经编写完成,于是需要给diocp3安个家,google显然不行了,老是被墙.然后准备选用http://sourceforge.net/,发现我的qq email老是收不到验证邮

Nginx1.10.2稳定版本tcp四层负载安装配置过程略解

nginx1.10.2(2016.10.18)是最新稳定版,适合线上运行,最新开发版为1.11.8(2016.12.27) 系统版本CentOS6.8 64位,所有依赖都是系统rpm包,由于epel-release的nginx包不是最新的稳定版本所以选择源码包安装nginx通过源码编译安装 参考资料 https://www.biaodianfu.com/centos-7-2-install-nginx-1-10-2.html 1.安装编译所需工具 yum groupinstall "Develo

查阅Springboot官方文档方式----------------Springboot2.0.2最新稳定版

1.登录官方网址: https://spring.io/ 如图所示: 2.选择PROJECTS,就可以看到spring所有的相关项目了. 点开后:其中就包括了Spingboot 3.版本选择,红圈部分就是最新的稳定版本,其下(包括其本身)的都是可用的稳定版本,其上是处于快照的版本            4.点开就看到下边的官方文档里 5.觉得阅读不方便,可以使用浏览器翻译插件     原文地址:https://www.cnblogs.com/liuyangfirst/p/9062269.html