1.Hadoop概述
是什么:Apache™Hadoop项目是可靠,可扩展,分布式计算、分布式存储的开源软件。Apache Hadoop软件库是一个框架,允许使用简单的编程模型跨计算机群集分布式处理大型数据集。
能做什么:搭建大型数据仓库、PB级别数据存储、处理、分析、统计等业务
典型:搜索引擎、日志分析、商业智能、数据挖掘
2.Hadoop核心组件
Hadoop Common:支持其他Hadoop模块的常用工具。
Hadoop分布式文件系统(HDFS™):提供对应用程序数据的高吞吐量访问的分布式文件系统。
Hadoop YARN:作业调度和集群资源管理的框架。
Hadoop MapReduce:一个用于并行处理大型数据集的基于YARN的系统。
2.1分布式文件系统HDFS
特点:可扩展、可容错、可海量数据存储
将文件切分成指定大小的数据块(默认128M)并以多副本的存储在多个机器上
数据切分、多副本、容错等操作对于用户是透明的(我们操作的对象是文件,具体切分、多副本是Hadoop底层实现的)
如上图所示,HDFS也是按照Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。
NameNode:是Master节点,是大领导。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;
SecondaryNameNode:是一个小弟,分担大哥namenode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。
DataNode:Slave节点,奴隶,干活的。负责存储client发来的数据块block;执行数据块的读写操作。
热备份:b是a的热备份,如果a坏掉。那么b马上运行代替a的工作。
冷备份:b是a的冷备份,如果a坏掉。那么b不能马上代替a工作。但是b上存储a的一些信息,减少a坏掉之后的损失。
fsimage:元数据镜像文件(文件系统的目录树。)
edits:元数据的操作日志(针对文件系统做的修改操作记录)
namenode内存中存储的是=fsimage+edits。
SecondaryNameNode负责定时默认1小时,从namenode上,获取fsimage和edits来进行合并,然后再发送给namenode。减少namenode的工作量。
2.2资源调度系统YARN(Yet Another Resource Negotiator )
负责整个集群资源的管理和调度
特点:可扩展(计算能力不够可添加机器)、可容错性(task出现异常,YARN可进行一定次数的重设)、可多框架资源统一调度
2.3分布式计算框架MapReduce
源自于Google的论文,是Google MapReduce的克隆
特点:可扩展性、容错性、海量数量离线处理
映射合并的组合。
3.Hadoop优势
3.1高可靠性:
数据存储:数据块多副本
数据计算:重新调度作业计算
3.2高可扩展性
存储、计算资源不够时,可以横向的线性扩展机器
一个集群中可以包含数以千计的节点
3.3其他
存储在廉价机器上,降低成本
成熟的生态圈
4.Hadoop发展史
2006年诞生
5.Hadoop生态系统
狭义的Hadoop:是一个适合大数据分布式存储HDFS、分布式计算MapReduce和资源调度YARN的平台
广义的Hadoop:指的是Hadoop生态系统。生态系统中的每一子系统解决某一个特定的问题域。
生态系统:
生态系统特点:
开源、社区活跃;成熟的生态圈;囊括了大数据处理的方方面面
6.Hadoop发行版选择
Apache Hadoop
CDH:Cloudera Distributed Hadoop
HDP:Hortonworks Data Platform
网友评论