平台服务 开源 Hadoop|学习笔记

简介: 快速学习平台服务 开源 Hadoop

开发者学堂课程【高校精品课-长安大学 -基于混合式教学的云计算课程建设平台服务 开源 Hadoop】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1073/detail/15482


平台服务 开源 Hadoop


内容介绍

一、Hadoop 2.0简述

二、Hadoop 2.0体系结构

三、HDFS 体系架构

四、HDFS 保障可靠性的措施

五、YARN 体系架构

六、YARN 任务执行过程

七、YARN 编程模板


一、Hadoop 2.0简述

1.本节课介绍 Hadoop 开源云平台。

从云计算概念提出以后,很多的 IT 厂商都推出了自己的面向数据处理的云计算平台,但都是商业形的云平台。对于想要研究技术的个人或科研团体来说,无法获得更多的了解。而 Hadoop 的出现给这种需求带来了很大的帮助。

2.在工业界,把以前的版本称作 Hadoop 1.0,而以后的版本称作 Hadoop 2.0,下面主要介绍Hadoop2.0

3.将 Hadoop 2.0部署至集群后,通过调用 Hadoop 2.0程序库,能够用简单的编程模型来处理分布在不同机器上的大规模数据集。

4.由于采用客户-服务器模式,Hadoop 2.0很容易从一台机器扩展至成千上万台机器,并且每台机器都能提供本地计算存储和本地计算。

5.考虑到集群中每台机器都可能会出问题(如硬件失效), Hadoop 2.0本身从设计.上就在程序层规避了这些问题

6.Google 云计算组件和 Hadoop 及其相关项目之间的对应关系

image.png


二、Hadoop 2.0体系结构

1.公共组件 Common

定位:为其他模块提供公共组件服务,为程序员取得集群服务的编程接口,降低了 Hadoop设计的复杂性,减少了其他模块之间的核心,增强了 Hadoop 健壮性

2.分布式文件系统 HDFS

提供了高容错、高扩展、高可靠的分布式存储

3.分布式操作系统 Yarn

提供分布式操作系统的基本功能,一方面管理整个集群的计算资源(CPU、内存等),另一方面提供用户程序访问系统资源的 API

image.png


三、HDFS 体系架构

Hadoop 典型包络一般和商用。一般的只有一个 NameDode ,商用的至少有两个 NameDode 。 DateNode则有很多个。当客服要访问文件时,客服端首先从 NameDode 获得组成文件的数据块的列表,然后从 DateNode 上来读取文件数据。这个方式和 JFS 很像似。

image.png

四、HDFS 保障可靠性的措施

1.冗余备份

2.副本存放

3.心跳检测安全模式

4.数据完整性检测  

5.空间回收  

6.元数据磁盘失效

7、快照


五、YARN 体系架构

1.Yarn 依旧是 master/slave 结构

2.主进程 ResourceManager 是整个集群资源仲裁中心

3.从进程 NodeManager 管理本机资源 ResourceManager 和从属节点的进程 NodeManager 组成了 Hadoop 2.0的分布式数据计算框。

image.png


六、YARN 任务执行过程

YARN 在执行时包含以下独立实体,一个是 Client 客户端,负责向集群提交作业,ResourceManager 负责资源管理和调度,还有 Schenuler 资源的仲裁模块,ApplicationManager 选定启动和监管 AppliacationMaster,而AppliacationMaster 任务执行和监管中心。DodeManager 管理和监管 Container执行具体任务。Container 是自然结合体。

image.png

整个过程:首先 Client 客户端回向主进程 ResourceManager 中的,ApplicationManager 提交文任务,ApplicationManager 按照某种策略选中DodeManager 中的某个 Container 来执行这个应用程序的 AppliacationMaster,这是第二步。

AppliacationMaster 会向 Schenuler 申请资源,Schenuler 会根据所有DodeManager发来的资源信息和集群的调度策略以 Container 为单位给AppliacationMaster 分配计算资源。然后向选定的 DodeManager 发送任务信息(程序代码,数据位置等)。选中的 DodeManager 会启动管理 Container 计算任务。

处于计算状态的 Container 会向 DodeManager 报告计算进度,DodeManager 将信息汇总给 AppliacationMaster,AppliacationMaster 根据信息给出任务进度,当所有任务都完成后,AppliacationMaster 会把所有信息汇报给ApplicationManager。ApplicationManager 模块就可以通知 Clien t客户端任务结束。这是基本的执行步骤。

3.执行规程中有可能任务失败,如果是 AppliacationMaster 失败,ApplicationManager 会选一个 Container 再次选择执行任务中的AppliacationMaster。如果是节点失败了,AppliacationMaster 首先向 Schenuler再次申请资源,根据资源从新分配节点上的任务。


七、YARN 编程模板

ApplicationMaster 是一个可变更的部分,只要实现不同的 ApplicationMaster, 就可以实现不同的编程模式。

MapReduce 模板

MapReduce 类型的 ApplicationMaster

distributedshell 模板  

distributedshel 类型的 ApplicationMaste

示例模板

Yarn 的示例编程为"distributedshell",该程序可以将给定的 shell 命令分布到机器执行

MapReduce 模板

Map 把任务分解成为多个任务,Reduce 把分解后多任务处理的结

果汇总起来,得到最终结果

image.png

相关文章
|
3天前
|
分布式计算 资源调度 Hadoop
重启Hadoop服务
【4月更文挑战第18天】重启Hadoop服务涉及五个步骤:1) 停止所有服务,如使用`stop-all.sh`;2) 检查服务是否停止,通过jps命令;3) 清理临时数据和日志;4) 使用`start-all.sh`重启服务;5) 再次用jps确认服务启动。注意,步骤依Hadoop版本和配置而异,操作前需谨慎并参考官方文档,以防影响运行中的应用程序。
10 2
|
4月前
|
消息中间件 存储 分布式计算
Hadoop学习笔记(HDP)-Part.19 安装Kafka
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
74 0
Hadoop学习笔记(HDP)-Part.19 安装Kafka
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.08 部署Ambari集群
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
85 0
Hadoop学习笔记(HDP)-Part.08 部署Ambari集群
|
4月前
|
存储 SQL 分布式计算
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
264 0
|
4月前
|
分布式计算 资源调度 Hadoop
Hadoop【部署 02】hadoop-3.1.3 单机版YARN(配置、启动停止shell脚本修改及服务验证)
Hadoop【部署 02】hadoop-3.1.3 单机版YARN(配置、启动停止shell脚本修改及服务验证)
55 0
|
4月前
|
消息中间件 存储 分布式计算
Hadoop学习笔记(HDP)-Part.20 安装Flume
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
54 0
Hadoop学习笔记(HDP)-Part.20 安装Flume
|
4月前
|
分布式计算 资源调度 Hadoop
Hadoop学习笔记(HDP)-Part.18 安装Flink
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
121 2
Hadoop学习笔记(HDP)-Part.18 安装Flink
|
4月前
|
分布式计算 资源调度 Java
Hadoop学习笔记(HDP)-Part.17 安装Spark2
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
41 0
Hadoop学习笔记(HDP)-Part.17 安装Spark2
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.16 安装HBase
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
82 1
Hadoop学习笔记(HDP)-Part.16 安装HBase
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.15 安装HIVE
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
106 1
Hadoop学习笔记(HDP)-Part.15 安装HIVE