hadoop -- introduction

ゝ一世哀愁。 2022-08-04 11:43 226阅读 0赞
  • Hadoop Architecture

    • HDFS
    • MapReduce
    • Work Stages

Hadoop Architecture

用下图描述 hadoop 的四元素

20150824133007502

  • hadoop commom: 其他hadoop modules 所需要的 java 库和工具;
  • hadoop YARN: 用与做 job scheduling 和 cluster resource management 的 框架;
  • Hadoop Distributed File System (HDFSTM): 一个基于谷歌文件系统(GFS)的分布式文件系统,可以提供对应用数据高吞吐量的访问。
  • Hadoop MapReduce: 一个用于并行处理大数据集的系统, YARN-based。

HDFS

hadoop 上最常用的文件系统。

HDFS 用的是 master/slave architecture,包括一个master (NameNode) 管理文件系统的大量数据,和数个slaves(DataNodes)用于真正的存储数据.

HDFS里的一个文件被分成若干个块(Blocks)分别存储在若干个DataNodes里。

NameNode

  • 管理 Blocks 和DataNodes 的映射关系
  • 管理 client 对文件袋额访问权限。
  • 执行 renaming, closing 和 opening 对文件或文件夹的操作。

DataNode

  • 执行文件系统的读、写操作
  • 以及按 NameNode 发出的指示对Blocks进行Creation, deletion 和 replication。

HDFS 提供了shell 和一系列的指令用于文件系统的交互。


MapReduce

以一种可靠地、高容错性的方式在集群上并行化的处理大规模数据。

  • The Map Task
  • The Reduce Task

MapReduce Framework 的每个 Cluster-node 上包含一个 JobTracker(master) 和一个 TaskTracker(slave):

  • JobTracker: 负责
  1. * 资源管理,resource managementtracking resource consumption/availability
  2. * 分配并监督slaves 的任务,scheduling the jobs component tasks on the slaves, monitoring them
  3. * 重新执行失败的任务,re-executing the failed tasks
  • TaskTracker: 负责
  1. * 执行任务,execute the tasks as directed by the master
  2. * 定时向master汇报状态,provide task-status information to the master periodically

Work Stages

  • Stage 1: 一个应用程序向 Hadoop 提交一项工作(job)的时候需要指定一下几项:
  1. * 分布式文件系统中输入输出文件的 location;
  2. * 包含 Map Reduce 函数的执行语句的 jar file;
  3. * 此项工作需要单独配置的参数 job configuration.
  • Stage 2: 应用程序向 Hadoop 提交工作和配置给 JobTracker。JobTracker 把配置参数发布给slaves, 然后分配任务(task)、监督Slave的工作,并且向应用程序提供运行状态和诊断信息。
  • Stage 3: 每一次 MapReduce 操作,分布在不同节点上的 TaskTracker 执行一次任务,并且把Reduce 操作的输出保存在文件系统。

发表评论

表情:
评论列表 (有 0 条评论,226人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java - JVM Introduction

    分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击[http://www.captainbed.net][http_www.cap

    相关 TypeScript Introduction

    今天Fred同学在组内做了一个TypeScript讲座,先把PPT截图放到这里,不知道这里能不能发视频,可以的话抽空把视频也上传一下。 接下来抽时间研究一下在Dynamic

    相关 REST Introduction

    REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。 RES