Hadoop介绍
Hadoop是Apache软件基金会的一款开源软件。底层是由java语言实现。
功能:允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理。
Hadoop核心组件:
Hadoop HDFS(分布式文件存储系统):解决海量数据存储
Haqdoop YARN(集群资源管理和任务调度框架):解决资源任务调用
Hadoop MapReduce(分布式计算框架):解决海量数据计算
官网:http://hadoop.apache.org/
Hadoop现状
HDFS作为分布式文件存储系统,处于生态圈的底层与核心地位;
YARN作为分布式通用的集群资源管理系统和任务调度平台,支撑各种计算引擎运行,保证了Hadoop地位;
MapReduce作为大数据生态圈第一代分布式计算引擎,由于自身设计的模型所产生的弊端,导致企业一线几乎不再直接使用MapReduce进行编程处理,但是很多软件底层依然在使用MapReduce引擎来处理数据。
Hadoop特性优点
1、扩容能力
Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可方便灵活的方式扩展到数以千计的节点。集群调整非常灵活,不需要停机。
2、成本低
Hadoop集群允许通过部署普通廉价的机器组成集群来处理大数据,以至于成本很低。看重的是集群整体能力。
3、效率高
通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。
4、可靠性
能自动维护数据的多份复制,并且在任务失败后自动地重新部署(redeplay)计算认为有,所以Hadoop的按为存储和处理数据的能力值得信赖。
Hadoop架构变迁
Hadoop 1.0
HDFS(分布式文件存储)
MapReduce(资源管理和分布式数据处理)
Hadoop 2.0
HDFS(分布式文件存储)
MapReduce(资源管理和分布式数据处理)
YARN(集群资源管理、任务调度)
Hadoop 3.0架构组件和Hadoop 2.0类似, 3.0着重于性能优化
通用方面:精简内核,类路径隔离,shell脚本重构
Hadoop HDFS:EC纠删码,多NameNode支持
Hadoop MapReduce:任务本地优化,内存参数自动推断
Hadoop YARN:Timeline Service V2,队列配置
Hadoop集群整体概述
Hadoop集群包括两个集群:HDFS集群,YARN集群
两个集群逻辑上分离,通常物理上在一起
两个集群都是标准的主从架构集群
HDFS集群介绍
主角色:NameNode 从角色:DataNode 主角色辅助角色:SecondaryNameNode
YARN集群介绍
主角色:ResourceManager 从角色:NodeManager
HDFS 一主加三从,额外再配一个秘书
YARN 一主加三从
MapReduce没有集群,MapReduce是计算框架,代码层面的组件,没有集群之说。