学习笔记Hadoop—— Hadoop介绍——Hadoop 核心组件
Posted 别呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记Hadoop—— Hadoop介绍——Hadoop 核心组件相关的知识,希望对你有一定的参考价值。
二、Hadoop 核心组件
2.1、Apache Hadoop简介
Apache Hadoop是一套用于在由通用硬件构建的大型集群上运行应用程序的框架。它实现了Map/Reduce编程范型,计算任务会被分割成小块(多次)运行在不同的节点上。除此之外,它还提供了一款分布式文件系统(HDFS),数据被存储在计算节点上以提供极高的跨数据中心聚合带宽。
优点:
高可靠性、高扩展性、高效性、高容错性、低成本
2.2、主要模块
- Hadoop Common:基础工具库用以支持其他模块
- HDFS:高可用的分布式文件存储系统
- Hadoop YARN:任务调度和集群资源管理框架
- MapReduce:分布式编程模型
- Hadoop Ozone:Hadoop类存储模型
2.3、Hadoop 分布式文件系统-HDFS
客户端(client)代表用户与namenode和datanode交互来访问整个文件系统
Namenode: 元数据操作,打开、关闭、重命名文件及文件夹、文件块到DataNode映射
DataNode: 文件块生成、删除、复制及执行NameNode的指令
HDFS通过多个文件块来实现大文件存储,所有的文件块都是同样大小(除了最后一个文件块);
NameNode决定文件块的复制,NameNode定时会收到DataNode的心跳包及块报告。
2.4、Hadoop任务调度和资源管理框架-YARN
YARN 是 Hadoop 中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度。
ResourceManager :处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度
NodeManager:单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令
ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错
- ResourceManager由Scheduler和ApplicationMaster组成;
- Scheduler: 对各个任务及队列分配资源,没有监控及对任务状态的追踪,同时也不保证对失败的任务进行重试
- ApplicationManager: 接受提交的任务,协调第一个用于启动ApplicationMaster的container,同时针对ApplicationMaster的失败提供重试
- ApplicationMaster:从Scheduler请求合适的资源containers,追踪状态及监控进度
2.5、Hadoop分布式编程模型-MapReduce
MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归纳)”,及他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。
当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归纳)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
以上是关于学习笔记Hadoop—— Hadoop介绍——Hadoop 核心组件的主要内容,如果未能解决你的问题,请参考以下文章
Hadoop学习笔记-010-CentOS_6.5_64_HA高可用-Hadoop2.6+Zookeeper3.4.5安装Hbase1.0.0
Hadoop学习笔记-009-CentOS_6.5_64_HA高可用-Hadoop2.6+Zookeeper3.4.5安装Hive1.1.0
Hadoop学习笔记-011-CentOS_6.5_64_HA高可用-Zookeeper3.4.5安装Kafka+消息监控KafkaOffsetMonitor