hadoop2相对hadoop1有非常重大的改进。

下面看一下在HDFS和MapReduce方面的改进:

HDFS Federation(HDFS联邦)
federation-background[1]

HDFS有两个主要层:

Namespace 由目录、文件和块组成;支持所有命名空间对文件和目录的操作。

Block Storage Service 由Block Management和Storage组成。

Block Management 提供dataNode集群成员关系,注册信息和周期性的心跳; 处理块报告,维护块位置; 支持块相关的操作,如创建、删除、修改等; 管理副本数量、位置,删除多余副本;

Storag是dataNode提供的。

之前的HDFS架构只允许存在一个namespace。一个Namenode管理这个namespace。HDFS联邦通过增加多个namenode/namespace来解决这个先前架构的限制。

HDFS联邦使用多个独立的NameNode/Namespace。NameNode是联邦的,意味着他们是独立的,不会要求相互协作。DataNode是存储block的。每个DataNode都在集群中的所有NameNode注册。DataNode发送周期性的心跳和block报告,并且处理NameNode发回的命令。

federation[www.hjha178.com1]

一个block pool 是块的集合,这些块属于一个单一的namespace。Datanode存储着集群中所有block pool中的块。block pool的管理相互之间是独立的。这意味着一个namespace可以独立的生成块ID,不需要与其他namespace协调。一个Namenode失败不会导致Datanode的失败,这些Datanode还可以服务其他Namenode。

一个Namespace和他的block pool一起称作namespace volume。这是一个自包含单元。当一个namenode/namespace删除后,对应的block pool也会被删除。当集群升级时,每个namespace volume也会升级。

ClusterID是用来标示集群中所有节点的。当Namenode格式化时,这个id会自动产生。

多namenode/namespace的好处:

HDFS集群支持存储的水平扩展,但是namespace不能。对于大集群部署或者大量小文件存储时,使用多namespace会更好。
之前的设计中,文件系统操作效率受制于单个的namenode。现在,多个namenode提高了文件读写操作效率。
一个namenode在多用户环境中没有隔离性。使用多namespace,不同的应用或者用户可以隔离在不同的namespace中。
联邦配置是向后兼容的,之前架构下的应用不经修改的就可以工作。

联邦中有NameServiceID。匹配的namenode、secondary、backup、checkpointer节点,都有相同的NameServiceID.

YARN
新的架构在hadoop-0.23引入的,把JobTracker两个主要的功能分为Resource Management(RM,资源管理)和job life-cycle management(作业生命周期管理),每个都是独立的组件。

新的ResourceManager管理着所有计算机资源对应用的分配工作。每个应用都会对应一个ApplicationMaster(www.feihuanyule.com AM)。

一个应用或者是原来的一个普通job,或者是这些job的DAG。

Resource www.douniu178.com Manager和每个节点上的NodeManager构成了计算层。其中,NodeManager会管理所在节点上的用户进程。

每个应用对应的ApplicationManager负责执行和监控task。

yarn_architecture[1www.ccyl178.com/]

RM有两个组件:Schuduler和ApplicationManager。

Scheduler负责给各种应用分配资源,不会监控或者跟踪应用状态。它也不保证应用失败或者硬件失败后重启任务。当前版本的调度器,只根据内存分配资源给应用。调度器是可插拔的。

每个节点都有一个NodeManager,负责管理本节点资源的使用情况,如cpu、内存、磁盘、网络等,并把这些信息报告给ResourceManager/Scheduler.

ApplicationManager负责管理资源容器。

hadoop2相对hadoop1有非常重大的改进的更多相关文章

  1. hadoop2对比hadoop1

    hadoop2对比hadoop1 1.体系结构 HDFS+MapReduce,共同点都是分布式的,主从关系结构. HDFS=一个NameNode+多个DataNode, NameNode含有我们用户存 ...

  2. Hadoop2 和 Hadoop1 区别

    Hadoop2 和 Hadoop1 区别 Namenode NameNode其实是Hadoop的一个目录服务,它包含着整个集群存储的文件的元数据. 早期发行的Hadoop1版本将所有HDFS目录和文件 ...

  3. hadoop2.0安装和配置

    hadoop2与hadoop1的配置有些许不同,最主要的是hadoop1里的master变成了yarn 这篇文直接从hadoop的配置开始,因为系统环境和jdk和hadoop1都是一样的. hadoo ...

  4. Hadoop2的HA安装(high availability):nfs+zookeeper

    前面介绍过hadoop的简单安装和FA安装,在这里将介绍几种hadoop2中HA(高可用性)安装,HA技术使hadoop不再存在单点namenode的故障. 先来第一种:nfs+zookeeper H ...

  5. Hadoop2的FN安装(federated namespace)

    尝试了简单的安装hadoop2后,我们再来尝试一下hdfs的一项新功能:FN.这项技术可以解决namenode容量不足的问题.它采用多个namenode来共享datanode的方式,每个namenod ...

  6. NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr5.2.1部署(三)

     Precondition: hadoop 2.7.1 hbase 0.98.13 solr 5.2.1 / Apache Solr 4.8.1 http://archive.apache.org ...

  7. Spark大数据针对性问题。

    1.海量日志数据,提取出某日访问百度次数最多的那个IP. 解决方案:首先是将这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中.注意到IP是32位的,最多有个2^32个IP.同样可以采 ...

  8. Docker+Hadoop+Hive+Presto 使用Docker部署Hadoop环境和Presto

    Background 一. 什么是Presto Presto通过使用分布式查询,可以快速高效的完成海量数据的查询.如果你需要处理TB或者PB级别的数据,那么你可能更希望借助于Hadoop和HDFS来完 ...

  9. Spark学习(一) -- Spark安装及简介

    标签(空格分隔): Spark 学习中的知识点:函数式编程.泛型编程.面向对象.并行编程. 任何工具的产生都会涉及这几个问题: 现实问题是什么? 理论模型的提出. 工程实现. 思考: 数据规模达到一台 ...

随机推荐

  1. Scala _ 下划线

    1.引入包中的全部方法 import math._ //引入包中所有方法,与java中的*类似 2.表示集合元素 val a = (1 to 10).filter(_%2==0).map(_*2) / ...

  2. laravel 5.5 《电商实战 》辅助函数

    Laravel 提供了很多 辅助函数,有时候我们也需要创建自己的辅助函数. 这里介绍了 tinker,一个laravel内置的php交互式控制台,方便调试php代码 php artisan tinke ...

  3. 让Visual Studio载入Symbol(pdb)文件

    让Visual Studio载入Symbol(pdb)文件 让Visual Studio载入Symbol(pdb)文件 在VC编译工程的编译连接阶段,会产生Symbol文件,也就是常说的 pdb 文件 ...

  4. 【HNOI2016】矿区

    题面 题解 知识引入 1. 平面图 一个图\(G=(V,E)\),若能将其画在平面上,且任意两条边的交点只能是\(G\)的顶点,则称\(G\)可嵌入平面,或称\(G\)是可平面的. 可平面图在平面上的 ...

  5. 蓝牙重启case之:hardware error

    蓝牙的通信分为host和controller,host端发送数据和命令到controller,controller 上传event以及数据到host端,这要求上下两端的通信要求状态一致性. 当发生状态 ...

  6. libgdx学习记录21——Box2d物理引擎之碰撞Contact、冲量Impulse、关节Joint

    Box2d中,物体可以接受力(Force).冲量(Impulse)和扭矩(Torque).这些物理元素都能改变物体的运动形式,并且默认都会唤醒物体,当然只是针对动态物体. 力是一个持久的效果,通过Bo ...

  7. 使用 idea 的Bookmarks(书签)功能

    https://blog.csdn.net/qq_36376059/article/details/80277767

  8. pycharm如何全局进行查找一个关键词

    PyCharm的Find in Path功能提供了全局查找功能,快捷键为Ctrl + Shift + F.Find则是在当前文件查找,快捷键为Ctrl + F.这两个个功能非常实用. Find in ...

  9. SSISDB4:当前正在运行的Package及其Executable

    SSISDB 系列随笔汇总: SSISDB1:使用SSISDB管理Package SSISDB2:SSIS工程的操作实例 SSISDB3:Package的执行实例 SSISDB4:当前正在运行的Pac ...

  10. stl源码剖析 详细学习笔记 hashtable

    //---------------------------15/03/24---------------------------- //hashtable { /* 概述: sgi采用的是开链法完成h ...