学习笔记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

hadoop+zookeeper+hive+HA集群部署笔记

Hadoop学习笔记—21.Hadoop2的改进内容简介

99%初学者的 Hadoop学习线路,你是这样吗?