大数据分布式文件系统HDFS

    作者:小sen更新于: 2023-11-02 13:56:46

    分布式文件系统HDFS及其简单使用

    大数据包括结构化、半结构化和非结构化数据,非结构化数据越来越成为数据的主要部分。据IDC的调查报告显示:企业中80%的数据都是非结构化数据,这些数据每年都按指数增长60%。大数据就是互联网发展到现今阶段的一种表象或特征而已,没有必要神话它或对它保持敬畏之心,在以云计算为代表的技术创新大幕的衬托下,这些原本看起来很难收集和使用的数据开始容易被利用起来了,通过各行各业的不断创新,大数据会逐步为人类创造更多的价值。

    HDFS(Hadoop Distributed File System)是 Apache Hadoop 项目的一个子项目. Hadoop 非常适于存储大型数据 (比如 TB 和 PB), 其就是使用 HDFS 作为存储系统. HDFS 使用多台计算机存储文件, 并且提供统一的访问接口。

    大数据分布式文件系统HDFS_AP计算机课程_AP视频课程_AP Computer SCIENCE考试视频_课课家

    在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统。

    HDFS

    HDFS(Hadoop Distributed File System)是 Apache Hadoop 项目的一个子项目. Hadoop 非常适于存储大型数据 (比如 TB 和 PB), 其就是使用 HDFS 作为存储系统. HDFS 使用多台计算机存储文件, 并且提供统一的访问接口。

    HDFS是根据谷歌的论文:《The Google File System》进行设计的

    HDFS的四个基本组件:HDFS Client、NameNode、DataNode和Secondary NameNode。

    Client

    Client是客户端。HDFS Client文件切分。文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储。Client 提供一些命令来管理 和访问HDFS,比如启动或者关闭HDFS。

    NameNode

    NameNode就是 master,它是一个主管、管理者。管理 HDFS 元数据(文件路径,文件的大小,文件的名字,文件权限,文件的block切片信息)。

    NameNode管理 Block 副本策略:默认 3 个副本,处理客户端读写请求。

    DataNode

    DataNode就是Slave。NameNode下达命令,DataNode 执行实际的操作。

    DataNode存储实际的数据块,执行数据块的读/写操作。定时向namenode汇报block信息。

    Secondary NameNode

    SecondaryNameNode不是NameNode的备份。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务。

    辅助 NameNode,分担其工作量。在紧急情况下,可辅助恢复 NameNode。

    副本机制

    HDFS被设计成能够在一个大集群中跨机器可靠地存储超大文件。它将每个文件存储成一系列的数据块,这个数据块被称为block,除了最后一个,所有的数据块都是同样大小的。

    为了容错,文件的所有block都会有副本。每个文件的数据块大小和副本系数都是可配置的。

    在hadoop2 当中, 文件的 block 块大小默认是 「128M」(134217728字节)。

    如上图所示,一个大小为300M的a.txt上传到HDFS中,需要进行128M的切分,不足128M分为到另一block中。

    HDFS基本命令

    HDFS 简单使用

    根据部署的服务,我们的 HDFS 根目录是 hdfs://192.168.147.128:9820,下面我们尝试在根目录下面创建子目录 user,如下命令所示:

    1. [hadoop@node01 ~]$ hadoop fs -mkdir /user 

    然后在Hadoop页面打开HDFS。

    此时的user文件夹将会看见。

    下面将一个大小为300M的文件上传到HDFS的user文件夹中

    然后在Hadoop页面看见刚刚上传的文件。

    此时被分开了三个block。

    点击download,即可下载。

    大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。

课课家教育

未登录