您的位置:首页 > 运维架构

hadoop -- introduction

2015-08-25 17:43 369 查看
Hadoop Architecture
HDFS

MapReduce

Work Stages

Hadoop Architecture

用下图描述 hadoop 的四元素






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: 负责

资源管理,resource management,tracking resource consumption/availability

分配并监督slaves 的任务,scheduling the jobs component tasks on the slaves, monitoring them

重新执行失败的任务,re-executing the failed tasks

TaskTracker: 负责

执行任务,execute the tasks as directed by the master

定时向master汇报状态,provide task-status information to the master periodically

Work Stages

Stage 1: 一个应用程序向 Hadoop 提交一项工作(job)的时候需要指定一下几项:

分布式文件系统中输入输出文件的 location;

包含 Map 和 Reduce 函数的执行语句的 jar file;

此项工作需要单独配置的参数 job configuration.

Stage 2: 应用程序向 Hadoop 提交工作和配置给 JobTracker。JobTracker 把配置参数发布给slaves, 然后分配任务(task)、监督Slave的工作,并且向应用程序提供运行状态和诊断信息。

Stage 3: 每一次 MapReduce 操作,分布在不同节点上的 TaskTracker 执行一次任务,并且把Reduce 操作的输出保存在文件系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: