(教学课件)Hadoop体系架构概述---备份
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
要处理大规模海量数据集的应用 ➢ HDFS遵循部分POSIX协议要求,可以确保应用程序以
流的方式访问文件系统数据
HDFS的对现实应用环境的假设及其目标
➢ 硬件失效 ➢ 流式数据访问 ➢ 海量数据集 ➢ 追加写入及文件同步 ➢ “移动计算比移动数据的代价小” ➢ 跨异构硬件和软件平台的可移植性
• 1. 硬件失效。在HDFS中,硬件失效是常态而不是意外。一个真实的HDFS环境可能由上百或上千的机器组成,每一个机器存 储文件系统中的部分数据。集群中大量的机器都有极高的可能性会发生硬件故障而失效,这一真实的情况表明HDFS集群中的 部分机器总是处于非正常工作状态。因此,检测机器失效并快速自动恢复发生故障的机器是HDFS的核心架构目标。
Block ops Replication
DataNodes
Blockss
Write
Client
➢ 主从(Master/Slave)体系结构 ➢ 只含有一个NameNode主服务节点这个节点管理文件系统中的命名空间和调度客服端对文件的访问 ➢ 通常一个机器就是一个DataNode数据节点,DataNode管理本节点上数据的存储 ➢ 在HDFS内部,一个文件被分割为一个或多个数据块,并且这些数据块被存储在一批DataNode中。 ➢ NameNode执行文件系统中命名空间的操作(打开、关闭、重命名文件和目录),NameNode需要执行数据
Hadoop体系架构概述
Hadoop体系架构
HDFS简介
Map/Reduce模型 分布式列式数据 库Hbase
Hadoop概述
➢ 基于Apache基金会下的一个开源项目,致力于开发一个可靠的、大规 模的分布式计算框架
➢ 用户可采用简单的计算模型在计算机集群下对大规模的数据进行分布 式处理
➢ 设计理念之一是扩展单一的服务器为成千上万机器的集群,且集群中 每一个机器同时提供本地计算力和存储力
BI Reporting
Hive (SQL)
Map/Reduce (Job Scheduling/Execution System)
Hbase (Column Database)
HDFS (Hadoop Distributed File System)
RDBMS Sqoop
AvroSeria lization)
wenku.baidu.com
➢ 分布式文件系统(Hadoop Distributed File System,HDFS) ➢ 并行计算模型(Map/Reduce) ➢ 列式数据库(HBase) ➢ 数据仓库(Hive) ➢ 数据分析语言(Pig) ➢ 数据格式转化工具(Sqoop) ➢ 协同工作系统(Zookeeper) ➢ 数据序列化系统(Avro)
Hadoop整体框架下特点
➢ Hadoop主要在多节点集群环境下 ➢ 以数据存储为基础 ➢ 最大限度兼容结构化数据格式 ➢ 以数据处理为目的 ➢ 且其数据操作技术多样化
Hadoop体系架构
HDFS简介
Map/Reduce模型 分布式列式数据 库Hbase
HDFS概述-----基本特征
➢ 基于商用硬件环境 ➢ HDFS具有高容错性,并且被部署在廉价的硬件之上 ➢ HDFS向应用程序提供高的数据吞吐访问,适合于需
• 2. 流式数据访问。运行在HDFS之上的应用程序需要流式访问其数据集,这与运行在常规文件系统上的通用应用程序不一样。 HDFS更适用于批量数据处理而不是用户的交互性使用。HDFS的重点是强调数据的高吞吐访问而不是数据的低延迟访问。POSIX 规定了很多的硬性要求,这些要求对运行在HDFS上的应用程序而言是非必须的。但是,HDFS在几个关键领域引入了POSIX语义 来提高数据的吞吐率。
• 5. “移动计算比移动数据的代价小”。应用所需要的计算如果在数据的附近实施效率更高,这一特性在数据量特别庞大时会显 得更加明显。数据处理的本地化会最大限度地减少网络拥塞,并且提高系统整体的吞吐量。因此,在HDFS中假设移动计算至 数据的存储位置比移动数据至应用程序运行位置更好。为了实现这一假设,HDFS为应用提供了接口来移动应用自身到接近数 据的储存点。
• 3. 海量数据集。运行在HDFS上的应用是建立在海量数据集之上的。HDFS被设计来存储大文件,通常HDFS中的文件大小应该是 千兆字节到兆兆字节。HDFS必须具备有很高的总数据带宽,其单一集群规模能够容乃成千上万的机器节点,并且一个HDFS集 群能够支撑数以万计的文件量。
• 4. 追加写入及文件同步。大多数的HDFS应用都需要“一次写多次读”的文件访问模式。HDFS具有两种高级特征:刷新缓存 (hflush)和文件添加(append)。刷新缓存使得一个未关闭文件的最后一个块对访问者可见的同时提供了读一致性和数据持 久性。文件添加提供了在一个已关闭文件的末尾添加额外数据的机制。
➢ Hadoop框架是在应用层检测和处理硬件失效问题,而不是依赖于硬件 自身来维持高可用性。
➢ 在Hadoop框架集群中硬件失效被认为是一种常态,集群的高可用性服 务是建立在整个集群之上的
Hadoop整体框架
Zookeep er(Coordi nation)
ETL Tools
Pig (Data Flow)
• 6. 跨异构硬件和软件平台的可移植性。HDFS设计的目标之一是能够简单的从一个平台移植到另一平台。这便于大量的应用选择 HDFS作为一个平台而广泛使用。
HDFS架构
NameNode MetaData ops
Clien t
Read
DataNodes
MetaData(Name, replicas, …)
块到DataNode映射的决策 ➢ DataNode负责响应来自客户端的文件读写要求,也要负责执行来自NameNode的关于数据块创建、删除
和冗余存储的指令
NameNode同DataNode都是可以架设在普通商品机上,一个典型的HDFS集群中部署一个专用机做为NameNode,其余的机器部署为DataNode。 虽然,这个体系结构并不排除把一个机器做为多个DataNode节点,但是这样的情况在实际部署中很少发生。单NameNode结构极大的简化了 集群的系统结构,NameNode主管并且存储所有的HDFS的元数据(MetaData),系统中用户数据绝不会流过NameNode节点。
流的方式访问文件系统数据
HDFS的对现实应用环境的假设及其目标
➢ 硬件失效 ➢ 流式数据访问 ➢ 海量数据集 ➢ 追加写入及文件同步 ➢ “移动计算比移动数据的代价小” ➢ 跨异构硬件和软件平台的可移植性
• 1. 硬件失效。在HDFS中,硬件失效是常态而不是意外。一个真实的HDFS环境可能由上百或上千的机器组成,每一个机器存 储文件系统中的部分数据。集群中大量的机器都有极高的可能性会发生硬件故障而失效,这一真实的情况表明HDFS集群中的 部分机器总是处于非正常工作状态。因此,检测机器失效并快速自动恢复发生故障的机器是HDFS的核心架构目标。
Block ops Replication
DataNodes
Blockss
Write
Client
➢ 主从(Master/Slave)体系结构 ➢ 只含有一个NameNode主服务节点这个节点管理文件系统中的命名空间和调度客服端对文件的访问 ➢ 通常一个机器就是一个DataNode数据节点,DataNode管理本节点上数据的存储 ➢ 在HDFS内部,一个文件被分割为一个或多个数据块,并且这些数据块被存储在一批DataNode中。 ➢ NameNode执行文件系统中命名空间的操作(打开、关闭、重命名文件和目录),NameNode需要执行数据
Hadoop体系架构概述
Hadoop体系架构
HDFS简介
Map/Reduce模型 分布式列式数据 库Hbase
Hadoop概述
➢ 基于Apache基金会下的一个开源项目,致力于开发一个可靠的、大规 模的分布式计算框架
➢ 用户可采用简单的计算模型在计算机集群下对大规模的数据进行分布 式处理
➢ 设计理念之一是扩展单一的服务器为成千上万机器的集群,且集群中 每一个机器同时提供本地计算力和存储力
BI Reporting
Hive (SQL)
Map/Reduce (Job Scheduling/Execution System)
Hbase (Column Database)
HDFS (Hadoop Distributed File System)
RDBMS Sqoop
AvroSeria lization)
wenku.baidu.com
➢ 分布式文件系统(Hadoop Distributed File System,HDFS) ➢ 并行计算模型(Map/Reduce) ➢ 列式数据库(HBase) ➢ 数据仓库(Hive) ➢ 数据分析语言(Pig) ➢ 数据格式转化工具(Sqoop) ➢ 协同工作系统(Zookeeper) ➢ 数据序列化系统(Avro)
Hadoop整体框架下特点
➢ Hadoop主要在多节点集群环境下 ➢ 以数据存储为基础 ➢ 最大限度兼容结构化数据格式 ➢ 以数据处理为目的 ➢ 且其数据操作技术多样化
Hadoop体系架构
HDFS简介
Map/Reduce模型 分布式列式数据 库Hbase
HDFS概述-----基本特征
➢ 基于商用硬件环境 ➢ HDFS具有高容错性,并且被部署在廉价的硬件之上 ➢ HDFS向应用程序提供高的数据吞吐访问,适合于需
• 2. 流式数据访问。运行在HDFS之上的应用程序需要流式访问其数据集,这与运行在常规文件系统上的通用应用程序不一样。 HDFS更适用于批量数据处理而不是用户的交互性使用。HDFS的重点是强调数据的高吞吐访问而不是数据的低延迟访问。POSIX 规定了很多的硬性要求,这些要求对运行在HDFS上的应用程序而言是非必须的。但是,HDFS在几个关键领域引入了POSIX语义 来提高数据的吞吐率。
• 5. “移动计算比移动数据的代价小”。应用所需要的计算如果在数据的附近实施效率更高,这一特性在数据量特别庞大时会显 得更加明显。数据处理的本地化会最大限度地减少网络拥塞,并且提高系统整体的吞吐量。因此,在HDFS中假设移动计算至 数据的存储位置比移动数据至应用程序运行位置更好。为了实现这一假设,HDFS为应用提供了接口来移动应用自身到接近数 据的储存点。
• 3. 海量数据集。运行在HDFS上的应用是建立在海量数据集之上的。HDFS被设计来存储大文件,通常HDFS中的文件大小应该是 千兆字节到兆兆字节。HDFS必须具备有很高的总数据带宽,其单一集群规模能够容乃成千上万的机器节点,并且一个HDFS集 群能够支撑数以万计的文件量。
• 4. 追加写入及文件同步。大多数的HDFS应用都需要“一次写多次读”的文件访问模式。HDFS具有两种高级特征:刷新缓存 (hflush)和文件添加(append)。刷新缓存使得一个未关闭文件的最后一个块对访问者可见的同时提供了读一致性和数据持 久性。文件添加提供了在一个已关闭文件的末尾添加额外数据的机制。
➢ Hadoop框架是在应用层检测和处理硬件失效问题,而不是依赖于硬件 自身来维持高可用性。
➢ 在Hadoop框架集群中硬件失效被认为是一种常态,集群的高可用性服 务是建立在整个集群之上的
Hadoop整体框架
Zookeep er(Coordi nation)
ETL Tools
Pig (Data Flow)
• 6. 跨异构硬件和软件平台的可移植性。HDFS设计的目标之一是能够简单的从一个平台移植到另一平台。这便于大量的应用选择 HDFS作为一个平台而广泛使用。
HDFS架构
NameNode MetaData ops
Clien t
Read
DataNodes
MetaData(Name, replicas, …)
块到DataNode映射的决策 ➢ DataNode负责响应来自客户端的文件读写要求,也要负责执行来自NameNode的关于数据块创建、删除
和冗余存储的指令
NameNode同DataNode都是可以架设在普通商品机上,一个典型的HDFS集群中部署一个专用机做为NameNode,其余的机器部署为DataNode。 虽然,这个体系结构并不排除把一个机器做为多个DataNode节点,但是这样的情况在实际部署中很少发生。单NameNode结构极大的简化了 集群的系统结构,NameNode主管并且存储所有的HDFS的元数据(MetaData),系统中用户数据绝不会流过NameNode节点。