zoukankan      html  css  js  c++  java
  • hadoop2.x的变化

    HDFS Federation(HDFS联邦)

    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发回的命令。

    一个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(AM)。

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

    ResourceManager和每个节点上的NodeManager构成了计算层。其中,NodeManager会管理所在节点上的用户进程。

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

    M有两个组件:Schuduler和ApplicationManager。

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

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

    ApplicationManager负责管理资源容器。

  • 相关阅读:
    解决Error:com.intellij.util.indexing.StorageException
    Spring AOP (上)
    spring aop expression简单说明
    Spring AOP 详解
    基于Spring AOP实现对外接口的耗时监控
    JavaEE参考示例 SpringSide 4.0 GA版杀青
    MyBatis学习 之 四、MyBatis配置文件
    MyBatis学习 之 三、动态SQL语句
    MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存
    MyBatis学习 之 二、SQL语句映射文件(1)resultMap
  • 原文地址:https://www.cnblogs.com/mlj5288/p/4449766.html
Copyright © 2011-2022 走看看