前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HDFS基本介绍

HDFS基本介绍

作者头像
用户4870038
发布2021-02-05 11:35:15
7850
发布2021-02-05 11:35:15
举报
文章被收录于专栏:MyBatis入门案例-注解

文章目录

HDFS基本介绍

HDFSHadoop Distrbute File System 的简称,意为:Hadoop 分布式文件系统。是Hadoop核心组件之一,作为最底层的分布式存储服务而存在。 分布式文件系统解决的问题就是大数据存储。它们是横跨在多台计算机上的存储系统。分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力。 HDFS 文件系统的容量 理解: 将多个节点的容量汇总到一起拼接成一个大的文件系统, 在一个节点上传数据,在其他的节点上都能够访问使用。

在这里插入图片描述
在这里插入图片描述

HDFS使用Master和Slave结构对集群进行管理。一般一个 HDFS 集群只有一个 Namenode 和一定数目的Datanode 组成。Namenode 是 HDFS 集群主节点,Datanode 是 HDFS 集群从节点,两种角色各司其职,共同协调完成分布式的文件存储服务。

在这里插入图片描述
在这里插入图片描述

NameNode(Master)管理者 - 只负责管理,管理集群内各个节点。 SecondaryNameNode 辅助管理 – 只负责辅助NameNode管理工作。 DataNode(Slave) 工作者,是负责工作,周期向NameNode汇报,进行读写数据。 1)HDFS集群包括,NameNode和DataNode以及Secondary Namenode。 2)NameNode负责管理整个文件系统的元数据,以及每一个路径(文件)所对应的数据块信息。 3)DataNode 负责管理用户的文件数据块,每一个数据块都可以在多个datanode上存储多个副本。 4)Secondary NameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。最主要作用是辅助namenode管理元数据信息

在这里插入图片描述
在这里插入图片描述

HDFS分块存储

hdfs将所有的文件全部抽象成为block块来进行存储,不管文件大小,全部一视同仁都是以block块的统一大小和形式进行存储,方便我们的分布式文件系统对文件的管理

所有的文件都是以block块的方式存放在HDFS文件系统当中,在Hadoop1当中,文件的block块默认大小是64M,Hadoop2当中,文件的block块大小默认是128M,block块的大小可以通过hdfs-site.xml当中的配置文件进行指定。 问:一个文件100M,上传到HDFS占用几个快? 一个块128M,剩余的28M怎么办? 答: 事实上,128只是个数字,数据超过128M,便进行切分,如果没有超过128M,就不用切分,有多少算多少,不足128M的也是一个快。这个快的大小就是100M,没有剩余28M这个概念。 抽象成数据块的好处 1.一个文件有可能大于集群中任意一个磁盘 20T/128 = xxx块,这些block块属于一个文件 2.使用块抽象而不是文件,可以简化存储子系统。 3.块非常适合用于数据备份进而提供数据容错能力和可用性 块缓存 通常DataNode从磁盘中读取块,但对于访问频繁的文件,其对应的块可能被显示的缓存在DataNode的内存中,以堆外块缓存的形式存在。默认情况下,一个块仅缓存在一个DataNode的内存中,当然可以针对每个文件配置DataNode的数量。作业调度器通过在缓存块的DataNode上运行任务,可以利用块缓存的优势提高读操作的性能。

HDFS副本机制

第一份数据来源于客户端 第二份存放的位置是与第一个副本在相同机架上,且不在同一个节点,按照一定的规则(cpu 内存 IO是用率,和硬 盘剩余容量)找到一个节点存放 第三个副本的存放位置是与第一第二份数据副本不在同一个机架上,且逻辑与存放副本1和2的机架距离最近的机上 按照一定的规则(cpu 内存 IO是用率,和硬盘剩余容量)找到一个节点进行存放

在这里插入图片描述
在这里插入图片描述

名字空间(NameSpace)

HDFS 支持传统的层次型文件组织结构。用户或者应用程序可以创建目录,然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似:用户可以创建、删除、移动或重命名文件。 Namenode 负责维护文件系统的名字空间,任何对文件系统名字空间或属性的修改都将被Namenode 记录下来。 HDFS 会给客户端提供一个统一的目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。

在这里插入图片描述
在这里插入图片描述

Namenode 的作用

1、维护 管理文件系统的名字空间(元数据信息) 2、负责确定指定的文件块到具体的Datanode结点的映射关系。 3、维护管理 DataNode上报的心跳信息

Datenode 的作用

1、执行数据的读写(响应的是客户端) 2、周期性向NameNode做汇报(数据块的信息、校验和) 3、执行流水线的复制(一点一点复制)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • HDFS基本介绍
  • HDFS分块存储
  • HDFS副本机制
  • 名字空间(NameSpace)
  • Namenode 的作用
  • Datenode 的作用
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档