Hadoop基本原理

1、Hadoop是什么

Hadoop是一个开源的分布式计算平台。

HDFS 和MapReduce是Hadoop的两大核心,整个Hadoop的体系结构主要是通过 HDFS来实现对分布式存储的底层支持的,并通过MapReduce来实现对分布式并行任务处理的程序支持。

hadoop项目结构图(引用hadoop实战)

2、为什么要用Hadoop?

1)高效地存储和管理数据

2)处理问题时,采用分布式存储方式(HDFS:hadoop distribution file system),提高了读写速度,并扩大了存储容量.

3)还采用存储冗余数据的方式保证数据的安全性。


3、Hadoop工作原理?

HDFS:采用主从结构模型。

一个HDFS集群有一个NameNode和若干个DataNode组成:其中NameNode为主,管理文件系统命名和文件的访问操作,DataNode为从,管理存储的数据。


HDFS结构图 (引用hadoop实战)

MapReduce:一种并行编程模式,使用者可以基于该模式情动写出分布式并行程序。

由一个单独运行的主节点上的JobTracker和运行在每个集群从节点上的TaskTracker共同组成。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上,由主节点监控任务的执行情况,并重新执行之前失败的任务;从节点负责执行主节点指派的任务。

MapReduce处理流程 (引用hadoop实战)

4、Hadoop的数据管理?

包含分布式文件系统HDFS, 分布式数据库Hbase和数据仓库工具Hive的数据管理。

HDFS对数据的管理:

1)文件写入:client向NameNode发起文件写入请求---->NameNode根据文件大小和配置,返回DataNode信息---->Client把文件划分为多个Block,根据DataNode地址信息,按顺序写入到DataNode;

2)文件读取:client向NameNode发起文件读取请求---->NameNode根据文件存储返回DataNode信息---->Client读取文件信息;

3)文件块(Block)复制:NameNode发现不符合复制要求的Block或者存在DataNode失效---->通知DataNode相互复制Block---->DataNode开始直接相互复制;

PS: HDFS一个文件块有3个备份,一个放在NameNode指定的DataNode上,一个放在与指定DataNode不在同一台机器的DataNode上,还有一个放在与指定DataNode在通以Rack的DataNode上。一方面可以解决通以Rack失败的情况,另一方面可以解决不同Rack之间的数据拷贝提升性能。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容