Hadoop核心思想
Hadoop是在分布式服务器集群上存储海量数据并运行分布式分析应用的一个平台,其核心部件是HDFS与MapReduce:
HDFS是一个分布式文件系统:传统文件系统的硬盘寻址慢,通过引入存放文件信息的服务器Namenode和实际存放数据的服务器Datanode进行串接。对数据系统进行分布式储存读取;
MapReduce是一个计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算\Reduce计算)再根据任务调度器(JobTracker)对任务进行分布式计算。
Hadoop使用Master/Slave主从架构进行分布式储存和分布式计算。Master负责分配和管理任务,Slave负责实际执行任务。
MapReduce中装载有JobTracker的服务器负责进行Master任务,装载有TaskTracker的服务器负责进行Slave任务。
HDFS中装载有Namenode的服务器负责进行Master任务,装载有Datanode的服务器负责进行Slave任务。
HDFS:
将文件进行切块处理,再通过文件信息服务器Namenode存放切块的文件信息存放地址,实际存放数据的服务器Datanode存在切块后的数据;
系统默认:每个片块大小为64M,以保证寻址速度;数据会写入3个Datanode中,以保证更高的容错性;
HDFS还设计了Secondary Namenode来更新Namenode,以避免日志文件过大;
HDFS Client帮助Namenode对写入读取数据进行预处理,进行文件的分块与发送读取操作。Namenode负责为数据任务寻址。
MapReduce:
通过JobClient生成任务运行文件,并在JobTracker进行调度指派TaskTracker完成任务;
JobTracker分为把任务文件进行分解并派送到TaskTracker的程序JobinProgress和执行调度器的TaskScheduler;
JobinProgress把作业分解成Map计算和Reduce计算并放置到TaskTracker服务器中。
以上摘自: https://www.cnblogs.com/Yuppy-Lotr/p/5983839.html