HDFS概述、HDFS架构、Block存储、HDFS API使用

一、HDFS概述

什么是分布式文件系统?

一、数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 。
二、是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间
三、通透性。让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般。
四、容错。即使系统中有某些节点宕机,整体来说系统仍然可以持续运作而不会有数据损失【通过副本机制实现】。

分布式文件管理系统很多,hdfs只是其中一种,不合适小文件


HDFS架构

主节点NameNode
1.负责管理HDFS中元数据信息(数据存储的位置, 数据的Block块位置信息,权限相关等内容)
2.负责响应客户端的读写请求
3.管理DataNode

从节点DataNode
1.存储实际的数据库
2.负责数据的读写请求

image.png
NameNode是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表,接收用户的操作请求。

文件包括:
fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。
edits:操作日志文件,namenode启动后一些新增元信息日志
fstime:保存最近一次checkpoint 的时间

以上这些文件是保存在linux的文件系统中hdfs-site.xml的dfs.namenode.name.dir属性
image.png

image.png


BLock存储

DataNode为整个集群提供真实文件数据的存储服务,同时管理本节点中所有Block块

什么是Block块?
文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号划分好的每一个块称一个Block。2.0以后HDFS默认Block大小是128MB,可以在hdfs-site.xml中dfs.blocksize属性配置Block块

客户端从HDFS中读取数据时,会根据就近原则(根据网络拓扑结构) 选择最近的DataNode下载对应的BLock块

BLock块分布:
HDFS存储数据时,会根据机架感知,如果副本数为3,其中两份数据会被存放在一个节点中,另外一份数据会单独存放,为了防止单个机架出现故障,导致数据丢失。 为什么这样做?
当每个机架上存储一份数据,那么数据会分的过于分散,在后期做数据处理时,会将处理后的数据,进行做数据的汇总,这样机架和机架之间的网络通信会非常频繁,导致大量网络IO 降低执行效率


副本机制

什么是副本机制?
HDFS中通过副本方式保证数据的安全性,并且同一数据的副本是存储在不同节点当中。HDFS默认副本数是三个。可以在hdfs-site.xml的dfs.replication属性中配置对应数量。

image.png


HDFS系统Web界面

  1. master:9000 表示是HDFS的API端口 JAVA
  2. Safemode is off. 表示当前的安全模式是出于关闭状态,当状态是ON时,整个HDFS不能对外提供任何服务
  3. DFS Remaining: 59.9 GB (82.4%) 表示当前HDFS可以存储的数据量大小为59.9GB
  4. Datanode 表示是数据节点,也是HDFS中的从节点名称为DataNode 该进程主要用来保存具体数据
  5. Browse the fileSystem 可以查看当前文件系统中的内容 / 作为其根路径
  6. logs可以查看HDFS的执行日志

HDFS使用

1.上传文件 hdfs dfs -put README.txt /
2.文件的元数据信息 -> 对数据的描述权限,所属者,创建及其修改时间,数据存储的位置
3.权限 -rw-r–r– 第一位 文件或目录 第一组rw-当前所属者权限 第二组是当前所属组权限 第三组是其他用户权限
4.Replication(副本机制) 用来保证数据的安全,如果设置为1 表示当前该数据在HDFS中只有一份
5.Block Size 表示块大小 128 MB Block块切分逻辑


HDFS API使用

相关代码练习可以到我的gitee仓库查看

 https://gitee.com/zhao-shengdi/bigdata24-project.git
 git@gitee.com:zhao-shengdi/bigdata24-project.git
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值