A-A+

初步了解Hadoop

2014年06月01日 Hadoop 暂无评论 阅读 1,625 views 次

前段时间写了《Hadoop学习之准备阶段》到现在已经过去好多天了,我们要学习Hadoop必须先要了解Hadoop是什么?在这里先简单了解一下Hadoop,在之后的学习中要努力对Hadoop有更深的了解。

Hadoop 是Apache 下的一个项目,由HDFS、MapReduce、HBase、Hive 和ZooKeeper等成员组成。其中,HDFS 和MapReduce 是两个最基础最重要的成员。
HDFS 是Google GFS 的开源版本,一个高度容错的分布式文件系统,它能够提供高吞吐量的数据访问,适合存储海量(PB 级)的大文件(通常超过64M),其原理下图所示:
1

采用Master/Slave 结构。NameNode 维护集群内的元数据,对外提供创建、打开、删除和重命名文件或目录的功能。DataNode 存储数据,并提负责处理数据的读写请求。DataNode定期向NameNode 上报心跳,NameNode 通过响应心跳来控制DataNode。

InfoWord 将MapReduce 评为2009 年十大新兴技术的冠军。MapReduce 是大规模数据(TB 级)计算的利器,Map 和Reduce 是它的主要思想,来源于函数式编程语言,它的原理如下图所示:
2

Map 负责将数据打散,Reduce负责对数据进行聚集,用户只需要实现map 和reduce 两个接口,即可完成TB 级数据的计算,常见的应用包括:日志分析和数据挖掘等数据分析应用。另外,还可用于科学数据计算,如圆周率PI 的计算等。

Hadoop MapReduce 的实现也采用了Master/Slave 结构。Master 叫做JobTracker,而Slave 叫做TaskTracker。
用户提交的计算叫做Job,每一个Job 会被划分成若干个Tasks。JobTracker负责Job 和Tasks 的调度,而TaskTracker负责执行Tasks。

网上有很多关于Hadoop的介绍,多看就好。

Copyright © 风恋尘香 保留所有权利.   Theme  Ality

用户登录