大数据原理-HDFS

概述

HDFS解决海量的数据分布式存储

优势:廉价硬件、实现数据流读写、支持大数据集、支持简单文件模型、跨平台兼容

局限:实时性不高、无法存储大量小文件、只支持追加

核心概念:

抽象块概念设计:64或128MB/个 支持大规模数据存储(文件切割-突破单机存储界限);降低寻址开销(三级寻址 -元数据目录-数据节点-取数据) ;适合数据备份

名称节点:主节点 HDFS集群管家、记录数据存储信息(数据目录)
FsImage:保存系统文件树(文件复制等级、修改访问时间、访问权限、块的大小及其组成),记录历史信息
EditLog:日志,记录更新信息
底层执行时,二者合并,获取最新的元数据,获取新的FsImage,创建空的EditLog

元数据:存储在名称节点

数据节点:从节点,向名称节点汇报其数据,保存到本地的磁盘

第二名称节点:名称节点的冷备份;对EditLog的处理,EditLog不断增大的解决办法:定期停止EditLog的使用、生成新的EditLog、第二名称节点下载FsImage和旧的EditLog通过HTTP GET请求下载到本地并合并得到新的FsImage发送给名称节点

体系结构

采用主从架构
主名称节点-N个数据节点
命名空间:目录、文件、块

通信协议:基于TCP/IP
客户端与名称节点通过TCP交互
名称节点和数据节点的交互通过专门的数据节点协议交互
客户端与数据节点通过远程调用RPC交互实现

局限:
名称节点在内存中,内存有上限
单个名称节点效率
没有进行有效隔离应用程序
单点故障

2.0两个名称节点 热备份

原理

存储原理:冗余、保存、恢复问题?

一个数据块默认保存3个加快了数据传输速度、检查数据错误、保证数据可靠性

策略:一个块复制三份;在数据节点上传节点放一个副本;第二个副本在不同的节点;第三个副本在第一个副本的节点

数据读取:就近读取:HDFS提供一个API获取机架ID;客户端读取数据先获取数据节点;获得自身ID和数据节点ID相同的就近读取

数据错误恢复:
名称节点问题:第二名称节点的冷备份(暂停服务)
数据节点问题:与名称节点通过心跳联系;如果停止联系则宕机;复制其他副本恢复
数据问题:校验码;

Hadoop:FileSystem作为基类—DistributedFileSystem

发布了10 篇原创文章 · 获赞 22 · 访问量 322

猜你喜欢

转载自blog.csdn.net/weixin_45583358/article/details/105564366