初识Hadoop
2017-10-31 10:15
162 查看
Hadoop生态系统
对于hadoop生态系统的各个模块这里就不一一去描述,如果你想从事大数据,后面你应该会一一学到。下面就简单的讲解一个Hadoop。
hadoop四个模块
hadoop主要包括四个模块:Hadoop Common:为其他hadoop模块提供基础设施
Hadoop MapReduce:一个分布式并行计算框架,对海量数据的处理
Hadoop YARN:一个新的MapReduce框架,任务调度与资源管理
HDFS
hdfs是分布式文件系统,在hdfs上数据是以block的方式进行存储。他通过主节点namenode存储元数据信息,通过datanode存储具体的数据。一个namenode或者namenode就是一个节点(一台主机)。
namenode:
namenode 是主节点,存储文件的元数据和文件名,文件目录结构,文件属性(生成时间,副本数,文件权> 限),以及每个文件的块列表和块所在的DataNode等。
namenode是一个java进程,数据存放在内存中,本地磁盘有具体的数据备份。对数据进行修改时,对数据的修改也会保存在本地磁盘中。
数据放在内存:保证获取元数据时的速度,namenode启动的时候会将本地磁盘中的元数据信息加载到内存中。
本地磁盘备份:在本地磁盘有对元数据的备份,备份的数据主要存放在两个文件中,分别是fsimage镜像文件和edites编辑日志。
namenode启动时会将fsimage镜像文件中的元数据信息全部加载进内存。每次对namenode进行修改时候会将修改日志信息存放在edites编辑日志 中。这样:name中的数据 + fsimage镜像文件 = namenode中的实时数据。
datanode:
在本地文件系统中存储文件的块数据,以及块数据的校验和。namenode存储数据的原数据信息,而具体的数据存储在datanode,所以具体的数据流不经过namenode,只去namenode去获取数据的元数据信息。
secondary NameNode:
用来监控HDFS状态的辅助后台程序,每隔一段时间合并fsimage和edites两个文件——将fsimage和edites合并成新的fsimage,然后创建一个新的空的edites。
YARN(hadoop操作系统, data操作系统)
Resource Manager
(1)处理客户端请求
(2)启动/监控applicationMaster
(3)监控NodeManager
(4)对整个集群资源分配与调度
Node Manager
(1)单个结点上的资源管理
(2)处理来自ResourceManager的命令
(3)处理来自ApplicationMaster的命令
ApplicationMaster
(1)数据切分
(2)为应用程序申请资源,并分配给内部任务
(3)任务监控与容错
Container
对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量,启动命令等任务运行相关的信息。
MapReduce
将计算任务分为两个阶段:Map 和 Reduce(分而治之)。Map阶段并行处理数据,Reduce阶段对Map结果进行汇总,具体的执行流程如下:
input->map->suffle(洗牌阶段,如统计单词个数的程序排序阶段会在这个阶段完成)->reduce->output
Shuffle链接Map和Reduce两个阶段,Map Task将数据写到本地磁盘,Reduce Task从每个Map Task上读取一份数据。
mapreduce仅适合离线数据处理,具有较好的容错性和扩展性,适合简单的批任务处理,缺点明显就是启动开销大,过多使用磁盘导致效率下降。
想去了解更多的hadoop的相关知识可以查看下文:
NameNode启动过程
Hadoop安装——启动模式,基本配置,启动方式
HDFS架构与交互
YARN架构和资源管理
MapReduce编程模型及实现WordCount
MapReduce Shuffle过程深入理解
相关文章推荐
- Hadoop —— 初识
- [hadoop读书笔记] 第一章 初识 Hadoop
- Hadoop初识--Hadoop单机模式安装和环境配置
- 初识Hadoop一,配置及启动服务
- hadoop学习笔记--9.hive初识
- Hadoop:The Definitive Guid 总结 Chapter 1~2 初识Hadoop、MapReduce
- 《Hadoop基础教程》之初识Hadoop
- hadoop初识之九:Yarn组织架构,对资源的管理,以及以yarn为核心的生态系统
- 初识Lily, Lily=Hadoop+Zookeeper+HBase+Solr
- 初识hadoop
- 《Hadoop基础教程》之初识Hadoop
- 初识Hadoop(会飞的大象)
- Hadoop之初识MapReduce(笔记4)
- 《Hadoop基础教程》之初识Hadoop
- 2.马士兵_hadoop初识
- hadoop初识之六:HDFS架构及linux下eclipse环境的准备
- hadoop初识之十:mapreduce编程模型与数据传输格式
- Hadoop学习1(初识hadoop)
- 初识Hadoop——Hadoop-1.2.1和Hadoop-2.7.1的配置以及常见问题分析
- 初识hadoop