zoukankan      html  css  js  c++  java
  • Hadoop2源码分析-Hadoop V2初识

    1.概述

      在完成分析Hadoop2源码的准备工作后,我们进入到后续的源码学习阶段。本篇博客给大家分享,让大家对Hadoop V2有个初步认识,博客的目录内容如下所示:

    • Hadoop的渊源
    • Hadoop V2部分项目图
    • 各个包的功能介绍

      本篇文章的源码是基于Hadoop-2.6.0来分析,其他版本的Hadoop的源码可以此作为参考分析。

    2.Hadoop的渊源

      其实,早年Google的核心竞争力是它的计算平台,Google对外公布的论文有一下内容:

    • GoogleCluster 
    • Chubby 
    • GFS
    • BigTable 
    • MapReduce 

      可见MapReduce并不是Hadoop所独有的功能,之后Apache基金会得到类似的项目,这些项目有隶属于Hadoop项目,分别是:

    • ZooKeeper(Chubby)
    • HDFS(GFS)
    • HBase(BigTable)
    • MapReduce(Hadoop 这里是HDFS和MapReduce的统称)

      类似于这种思想的开源项目还有很多,如:Yahoo用Pig来处理巨大数据,Facebook用Hive来进行用户行为分析等。Hadoop的两大核心功能分别为HDFS和MapReduce,MapReduce是一个适合做离线计算的框架,它依赖于HDFS,HDFS作为一个分布式文件存储系统,是所有这些项目的基础支撑。下图为HDFS的支撑图,如下图所示:

      

    3.Hadoop V2部分项目图

      Hadoop包与包之间依赖的关系较为复杂,究其原因为HDFS提供了一个分布式文件存储系统,该系统提供庞大的API,使得分布式文件系统底层的实现,依赖于某些高层的功能,这些功能互相引用,形成网状的依赖关系。举个例子,如conf包,它用于读取系统配置文件,依赖于fs包,主要是读取相应的配置文件时,需要使用到文件系统,而部分文件系统的功能都被抽象在fs包中。下图时Hadoop V2项目的核心部分依赖包,如下图所示:

      后面的章节,主要给大家分享以下几个部分,如:mapreduce,fs,hdfs,ipc,io,yarn。

    4.各个包的功能介绍

      下面对上图列出来的各个包做下介绍说明,各个包的功能如下所示:

    • tools:提供命令行工具,如DistCp,archive等等。
    • mapreduce v2:Hadoop V2版本对Map/Reduce的实现。
    • filecache:让HDFS拥有本地缓存,以便加快MR的数据访问速度。
    • hdfs v2:Hadoop V2的分布式文件系统实现。
    • fs:文件系统的抽象包,为支持多种文件系统(有可能还有其他的文件系统)规范统一的文件访问接口。
    • ipc:依赖 io 提供的编码和解码功能。
    • io:编码和解码数据,以便在网络中传输。
    • net:对网络功能进行封装,如Socket。
    • conf:配置系统的参数。
    • util:工具类。
    • ha:配置高可用的集群,使集群拥有两个NameNode(active和standby)。
    • yarn:Hadoop V2 版本新添加的特性,用于资源调度和管理。

    5.总结

      Hadoop V2在底层设计上对比Hadoop V1是有区别的,新增HA,使得Hadoop V1中存在的单点问题得到了很好得解决;Hadoop V2新增Yarn系统,使得集群得资源管理和调度更加得完美,大大减少ResourceManager的资源消耗,并且让监测每一个 Job 子任务 (tasks) 状态的程序分布式化了,更安全、更优美。同时,使得多种计算框架可以运行在一个集群中。

    6.结束语

      这篇文章就和大家分享到这里,如果大家在研究和学习的过程中有什么疑问,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!

  • 相关阅读:
    unix网络编程 初步了解TCP/IP协议
    unix网络编程 常见概念
    linux 环境变量
    linux c编程
    第二周学习笔记
    jmeter第一周学习笔记
    建造者模式
    原型设计模式
    抽象工厂模式
    工厂方法模式
  • 原文地址:https://www.cnblogs.com/smartloli/p/4427985.html
Copyright © 2011-2022 走看看