Chinaunix首页 | 论坛 | 博客
  • 博客访问: 69036
  • 博文数量: 41
  • 博客积分: 1175
  • 博客等级: 少尉
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-06 11:43
文章分类
文章存档

2012年(41)

我的朋友

分类: 数据库开发技术

2012-09-19 17:51:56

Hadoop是什么:Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。

Hadoop框架中最核心设计就是:HDFSMapReduceHDFS提供了海量数据的存储,MapReduce提供了对数据的计算。

数据在Hadoop中处理的流程可以简单的按照下图来理解:数据通过Haddop的集群处理后得到结果。

HDFSHadoop Distributed File System,Hadoop的分布式文件系统。

大文件被分成默认64M一块的数据块分布存储在集群机器中。

如下图中的文件 data1被分成3,3块以冗余镜像的方式分布在不同的机器中。

MapReduceHadoop为每一个input split创建一个task调用Map计算,在此task中依次处理此split中的一个个记录(record),map会将结果以keyvalue的形式输出,hadoop负责按key值将map的输出整理后作为Reduce的输入,Reduce Task的输出为整个job的输出,保存在HDFS上。

Hadoop的集群主要由 NameNode,DataNode,Secondary NameNode,JobTracker,TaskTracker组成。

如下图所示:

NameNode中记录了文件是如何被拆分成block以及这些block都存储到了那些DateNode节点。

NameNode同时保存了文件系统运行的状态信息。

DataNode中存储的是被拆分的blocks

Secondary NameNode帮助NameNode收集文件系统运行的状态信息。

JobTracker当有任务提交到Hadoop集群的时候负责Job的运行,负责调度多个TaskTracker

TaskTracker负责某一个map或者reduce任务。

英特智讯整理提供。

阅读(1696) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~