大数据计算技术-U5_汤羽

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

05分布式存储架构

5.1 HDFS分布式文件系统

5.2HBase存储架构

5.3 二次索引表机制

数据存储系统

包括数据采集层(系统日志、网络爬虫、无线传感器网络、物联网、以及各种数据源);数据清洗、抽取与建模(将各种类型的结构化、非结构化、异构数据转化为标准存储格式数据,并定义数据属性及值域);数据存储架构(集中式/分布式文件系统、关系型数据库/分布式数据库、行存储数据结构/列存储数据结构,键值对结构,哈希表(Hash Table )检索);数据统一接口等。数据采集与建模

分布式文件系统

数据存储

系统分布式数据库/数据仓库

数据存储架构

在存储结构中:数据库提供了数据的逻辑存储结构;分布式文件

系统提供了数据的物理存储结构。Data Acquisition / Extraction / Transforming / Modeling

Distributed File Systems (HDFS / GFS / Colossus)

NoSQL Database (HBase / BigTable / MongoDB / Neo4j)

Unified Data Access Interface

逻辑存储结构Logic Storage Structure

也称为数据的逻辑结构。数据存储的逻辑模型(抽象模型),即纸面上人们设计的存储模式或数据结构,比如矩阵(matrix)、树(tree)、数据库表单(form)等。主要用于表达数据属性及数据元素相互间的关联关系。

物理存储结构Physical Storage Structure

也称为数据的存储结构。数据存储的物理模型,即在物理存储介质(如磁盘)上数据实际的排列方式。数据的存储结构主要有:顺序存储、链式存储、索引存储和散列存储。

1)顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元里,元素之间的关系由存储单元的邻接关系来体现。

2)链接存储:不要求逻辑上相邻的元素在物理位置上也相邻,借助指示元素存储地址的指针表示元素之间的逻辑关系。

3)索引存储:在存储元素信息的同时,还建立附加的索引表。索引表中的每一项称为索引项,索引项的一般形式是:(关键字,地址)。

4)散列存储:根据元素的关键字直接计算出该元素的存储地址,又称为Hash存储。

Hadoop系统架构

Hadoop系统架构

•部署在低成本Intel/Linux硬件平台上

•由多台Intel x86处理器的服务器或PC机组成

•通过高速局域网构成一个计算集群(cluster)

•各个节点上运行Linux操作系统

Hadoop集群软件部署

•主节点运行程序或进程

➢主节点程序Namenode

➢Jobtracker守护进程

➢管理集群的Hadoop 工具程序和集群监控器

•从节点运行程序

➢从节点程序Datanode

➢任务管理进程T asktracker

•区别

➢主节点程序提供Hadoop 集群管理、协调和资源调度功能

➢从节点程序主要实现Hadoop文件系统(HDFS)存储功能和节点数据处理功能

HDFS 分布式文件系统

⚫结构

➢Master/Slave体系结构(主/从服务器)

➢主控服务器(元数据服务器):负责管理命名空间和文件目录➢数据服务器(存储服务器):存储实际文件数据

⚫特点

➢透明性(对上层应用程序屏蔽底层平台细节)

➢高可用性(HDFS提供容错性和恢复机制)

➢支持并发访问(支持多个应用程序并发访问数据)

➢可扩展性(可通过增加集群物理设备扩展计算能力、而勿需修改系统软件)➢安全性(数据层独立于应用层,数据安全性不依赖于应用层)

HDFS缺点

1)不适合低延时数据访问

比如毫秒级的数据读写速度它做不到,它适合高吞吐率的场景,就是在某一时间内写入大量的数据。

2)小文件存储

存储大量小文件(这里的小文件是指小于HDFS系统的Block大小的文件(1.0版本默认64M,2.0版本默认128M))会占用NameNode 大量的内存来存储文件、目录和块信息。

3)文件随机修改

一个文件只能有一个写,不允许多个线程同时写。仅支持数据append(追加),不支持文件的随机修改。

HDFS软件结构

⚫主节点运行程序:NameNode,JobTracker,Zookeeper,HMaster等负责集群管理、资源配置、作业调度的程序

⚫从节点运行程序:DataNode承担数据存储及计算任务

⚫客户端程序:Client用于支持客户操作HDFS

机架n

本地Linux 文件系统

本地Linux 文件系统

数据节点(DataNode )

数据节点(DataNode )

……

客户端(Client)

名称节点(NameNode)

备份

文件名或数据块号……

机架1

本地Linux 文件系统

本地Linux 文件系统

数据节点(DataNode)

数据节点(DataNode )

……

数据块号、数据块位置写数据

读数据

HDFS存储结构

⚫以块(block)为基本单位存储文件(block size = 64MB,新版本为128MB)

⚫每个文件被划分成64MB大小的多个blocks,属于同一个文件的blocks分散存储在不同DataNode上

⚫每一个block有多个副本(replica),存储在不同的

DataNode上

⚫每个DataNode上的数据存储在本地的Linux文件系统中

相关文档
最新文档