大数据计算技术-U5_汤羽
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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文件系统中