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

Hadoop简介

2015-08-27 20:28 211 查看
Hadoop由分布式数据存储引擎和MapReduce执行引擎组成,成功在处理使用大量节点、围绕大量数据集展开的高分布性问题方面。这些众多的节点构成了Hadoop集群。

Hadoop集群是有一个主节点JobTracker和多个从节点TaskTracker构成。

一个用户程序叫做一项作业,分为两个步骤,map和reduce。

Hadoop MapReduce框架采用分布式文件系统HDFS来读取数据。

HDFS包含主节点NameNode和从节点DataNode。数据分割成数据块并分发到集群内的多个节点上。充分利用数据的本地优势,把计算逻辑转移到数据所在的机器。

Hadoop启动一项MapReduce作业的具体项:

1、Hadoop创建一个MapReduce应用的实例;

2、作业被提交给JobTracker;

3、作业被拆分成map任务(mapper)和reduce任务(reducer);

4、输入的数据集被拆分成大小相等的数据块;

5、并采用心跳协议(heartbeat prototol)分配任务。每个数据块被调度到一个TaskTracker节点上并由一个map任务处理;

6、TaskTracker周期性地给JobTracker发送状态,JobTracker优先将本地数据库分配给TaskTracker节点,否则分配本地机架或随机数据块给TaskTracker;

7、map函数执行完毕,进行shuffle(将中间键值对分组),最后由reduce完成最终结果的输出。

备注:完成步骤:map、merge、shuffle、sort、reduce

map和reduce函数的写法直接影响了MapReduce的性能。

性能检测工具有:Chukwa、Ganglia、Nagios、Ambari。

用于检测Hadoop集群节点的系统资源使用情况的检测、核心服务指标检测。

常检测的资源有:I/O带宽、每秒磁盘IO操作的次数、平均数据传输率、网络延迟、平均内存、交换空间利用情况。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: