Hadoop-HDFS文件系统

本文详细介绍了HDFS,一种用于大数据存储的分布式文件系统,包括其在企业环境中的重要性、特点(如超大文件存储、容错机制、扩展能力)、架构(NameNode、DataNode和SecondaryNameNode)、副本机制以及常用的Shell命令。
摘要由CSDN通过智能技术生成

HDFS的概述

⚫ 在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统 。
⚫ HDFS(Hadoop Distributed File System)是 Apache Hadoop 项目的一个子项目. Hadoop 非常适于存储大型数据 (比如 TB 和 PB), 其就是使用 HDFS 作为存储系统. HDFS 使用多台计算机存储文件, 并且提供统一的访问接口, 像是访问一个普通文件系统一样使用分布式文件系统.
⚫ 分布式文件系统解决的问题就是大数据存储。它们是横跨在多台计算机上的存储系统。分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力。

HDFS的特点

在这里插入图片描述
⚫ HDFS文件系统可存储超大文件,时效性稍差。
⚫ HDFS具有硬件故障检测和自动快速恢复功能。
⚫ HDFS为数据存储提供很强的扩展能力。
⚫ HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改。
⚫ HDFS可在普通廉价的机器上运行。

HDFS的架构

⚫ HDFS采用Master/Slave架构。
⚫ 一个HDFS集群有两个重要的角色,分别是Namenode和Datanode。
⚫ HDFS的四个基本组件:HDFS Client、NameNode、DataNode和Secondary NameNode。
在这里插入图片描述

1.Client

⚫ 就是客户端。
⚫ 文件切分。文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储。
⚫ 与 NameNode 交互,获取文件的位置信息。
⚫ 与 DataNode 交互,读取或者写入数据。
⚫ Client 提供一些命令来管理 和访问HDFS,比如启动或者关闭HDFS。

2.NameNode

⚫ 就是 master,它是一个主管、管理者。
⚫ 管理 HDFS 元数据(文件路径,文件的大小,文件的名字,文件权限,文件的block切片信息….)。
⚫ 配置副本策略。
⚫ 处理客户端读写请求。

3.DataNode

⚫ 就是Slave。NameNode 下达命令,DataNode 执行实际的操作。
⚫ 存储实际的数据块。
⚫ 执行数据块的读/写操作。
⚫ 定时向namenode汇报block信息。

4.Secondary NameNode

⚫ 并非 NameNode 的热备。当NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务。
⚫ 辅助 NameNode,分担其工作量。
⚫ 在紧急情况下,可辅助恢复 NameNode。

HDFS的副本机制

⚫ HDFS被设计成能够在一个大集群中跨机器可靠地存储超大文件。它将每个文件存储成一系列的数据块,这个数据块被称为block,除了最后一个,所有的数据块都是同样大小的。
⚫ hdfs默认文件:https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
⚫ 为了容错,文件的所有block都会有副本。每个文件的数据块大小和副本系数都是可配置的。
⚫ hadoop 当中, 文件的 block 块大小默认是 128M(134217728字节)。
在这里插入图片描述

HDFS的Shell命令

Shell命令介绍

➢ 安装好hadoop环境之后,可以执行hdfs相关的shell命令对hdfs文件系统进行操作,比如文件的创建、删除、修改文件权限等。
➢ 对HDFS的操作命令类似于Linux的shell对文件的操作,如ls、mkdir、rm等。
Hadoop提供了文件系统的shell命令使用格式如下:
在这里插入图片描述

1、ls命令

ls命令

2、mkdir命令

mkdir命令

3、mv命令

mv命令

4、rm命令

rm命令

5、cp命令

cp命令

6、cat命令

cat命令

7、put命令

put命令

8、get命令

get命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值