我爱编程

꧁ Hadoop 实战训练(一)꧂

2017-08-01  本文已影响0人  心甘情愿_Root

Hadoop 简介

Hadoop是Apache旗下的一款开源分布式计算平台,它通过以分布式文件系统HDFS和MapReduce为核心,为用户提供了系统底层细节透明的分布式基础架构。

Hadoop 结构

HDFS设计目标:
1.检测和快速恢复硬件故障。
2.流式的数据访问。
3.简化一致性模型。
4.通信协议。
Avro的支持:
1.提供丰富的数据结构类型。
2.快速可压缩的二进制数据格式。
3.存储持久性数据的文件集。
4.远程调用RPC的功能和简单的动态语言集成功能。

Hadoop核心之HDFS

HDFS采用了主从结构模型(Master/Slave),一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据,由NameNode统一调度。

1.Client向NameNode发起文件写入请求。
2.NameNode根据文件大小和文件块的配置情况,返回给Client它所管理的DataNode的信息。
3.Client将文件划分为多个Block,根据DataNode的地址信息,按顺序将其写入每一个DataNode中。
1.Client向NameNode发起读取文件的请求。
2.NameNode返回文件存储的DataNode信息。
3.Client读取文件信息。
1.NameNode发现部分文件的Block不符合最小复制数这一要求或部分DataNode失效。
2.通知DataNode相互复制Block。
3.DataNode开始直接相互复制Block。

Hadoop核心之MapReduce

MapReduce是一种并行编程模式,由一个单独运行在主节点上的JobTracker和运行在每个集群从节点上的TaskTracker共同组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控他们的执行情况,并且重新执行之前失败的任务;从节点仅负责由主节点指派的任务。当一个Job被提交时,JobTracker接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。

MapReduce数据流图.jepg

基本原理

1. 数据分布存储 (HDFS)
2. 分布式并行计算 (JobTracker & TaskTracker)
3. 本地计算 
4. 任务粒度 (默认 block 64MB)
5. 数据分割 (Partition)
6. 数据合并 (Combine)
7. Reduce 
8. 任务管道 
上一篇下一篇

猜你喜欢

热点阅读