HDFS概述,读写原理及shell命令(四)

本文深入介绍了HDFS(Hadoop Distributed File System)的产生背景、设计目标和优缺点。HDFS适用于大数据存储,具备高容错性和支持流式文件写入的特点,但不擅长低延迟数据访问和小文件存储。文章详细阐述了HDFS的架构,包括Client、NameNode、DataNode和Secondary NameNode的角色和功能。此外,通过HDFS shell和Java API展示了移动通信数据的管理操作,包括文件的读写原理,强调了数据在客户端、NameNode和DataNode之间的交互过程。
摘要由CSDN通过智能技术生成

一.HDSF概述

1.产生背景

当今世界正处在大数据的时代,随着数据量越来越大,使用单个操作系统的存储方式显然不能满足大数据存储的需求,因此,需要一种系统来存储大数据时代产生的海量数据,于是分布式文件系统(Distributed File System ,DFS)就诞生了。

分布式文件系统是指文件系统管理的物理资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。它允许将一个文件通过网络在多台主机上以多副本的方式进行存储,实际上是通过网络来访问文件,,而用户和程序员好像是访问本地的文件系统一样。
HDFS(Hadoop Distributed File Syste)即是hadoop中的分布式文件系统,用于大数据领域的数据存储。

2.HDFS的优缺点

(1)HDSF的优点

1)支持处理超大文件

  • 数据规模:能够处理数据规模达到 GB、TB、甚至PB级别的数据。
  • 文件规模:能够处理百万规模以上的文件数量,数量相当之大。

2)运行在廉价的机器上

  • 由于副本机制,可以在廉价机器上使用

3)高容错性

  • 数据自动保存多个副本,通过增加副本的形式,提高容错性,一个副本丢失后,它可以自动恢复

4)流式文件写入

  • HDFS提供一次写入,多次提取的服务。文件一旦写入,就不能修改,只能增加,可以提高I/O性能,保证数据的一致性。

(2)HDFS的缺点

1)不适合低延迟数据访问的场景。

  • 比如毫秒级的存储数据,是做不到的。

2)不适合大量小文件的存储。

  • HDFS中的元数据(如目录结构,文件目录属性,文件Block的节点列表等)存储在NameNode中,整个文件系统的文件数量会受限于NameNode的内存大小。一旦集群中的小文件过多,会导致NameNode的压力倍增,进而影响集群的性能。一般采用SequenceFile等方式对小文件进行合并,或者是使用NameNode Federation 的方式来改善

3)不适合并发写入,文件随机修改场景

  • HDFS采用追加(append-only)的方式写入数据,不支持在文件的任意位置修改。

3.HDFS设计目标

(1)硬件故障

故障检测和自动快速恢复是HDFS最核心的架构设计目标

(2)大规模数据集

HDFS文件大小一般在GB至TB量级,HDFS应该提供很高的聚合数据带宽,能在一个集群里扩展到数百个节点

(3)移动计算比移动数据更经济

在靠近计算的数据存储的位置进行计算是最理想状态,可以消除网络拥堵,提高系统的整体的吞吐量。HDFS为应用提供了将计算移动到数据附近的接口

二.HDFS架构

采用的是master/slave架构设计
在这里插入图片描述
注:

  • metadata:元数据—描述数据的数据,对数据及信息资源的描述性信息
  • ops:操作
  • rack:机架,多台机器会放在一个机架上

HDFS组成角色及其功能:

1.Client:客户端

(1)文件切分。文件在上传HDFS的时候,Client将文件分成一个一个的Block,然后进行存储。
(2)与NameNode交互,获取文件的位置信息
(3)与DataNode交互,读取或者写入数据
(4)Client提供一些命名来管理HDFS,比如启动或者关闭HDFS
(5)Client可以通过一些命令来访问HDFS。

2.NameNode:元数据节点

master,是管理者
(1)管理HDF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值