HDFS简介

1.为什么会有HDFS?

因为数据量的增大,一个操作系统无法存下所有数据,虽然可以分配到多个操作系统管理的磁盘中,但是管理和维护都很不方便。

2.HDFS定义

HDFS是一个分布式文件系统。用于存储文件,通过目录树来定位文件,并由很多服务器联合起来实现其功能

3.HDFS适合的场景

HDFS适合一次写入,多次读出的场景,且不支持文件的修改。适合用来做数据分析,并不适合用来做网盘应用

4.HDFS优缺点

4.1优点

1.可构建在廉价的机器上
2.高容错率(数据自动保存多个副本。某一个副本丢失后,它可以自动恢复)
3.适合处理大数据

4.2缺点

1.不适合做低延时性的数据访问(比如毫秒级的存储数据是做不到的)
2.无法高效的对大量小文件进行存储(违反HDFS寻址时间占读取时间1%的设计目标。储存大量小文件会占用NameNode大量的内存来存储文件目录和块信息。不可取,应为NameNode的内存是有限的)
3.不支持并发写入、文件随机修改(一个文件只能有一个写,不允许多个线程同时写。仅支持数据append(追加),不支持文件的随机修改)

5.HDFS组成及作用

5.1 图解

在这里插入图片描述

5.2 Client(客户端)

1.文件切分:文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行上传
2.与NameNode交互,获取文件的位置信息
3.与DataNode交互,读取或者写入数据
4.Client提供一些命令来管理HDFS(如NameNode格式化)
5.Client可以通过一些命令来访问HDFS(如对HDFS增删查操作)

5.3 NameNode(类似一个主管、管理者)

1.管理HDFS的名称空间
2.配置副本策略
3.管理数据块(Block)映射信息
4.处理客户端读写请求

5.4 DataNode(执行NameNode下达的命令)

1.存储实际的数据块
2.执行数据块的读/写操作

5.5 Secondary NameNode(协助NameNode工作)

1.辅助NameNode,分担其工作量定期合并Fsimage和Edits,并推送给NameNode
2.在紧急情况下,可辅助恢复NameNode

版权声明:本博客为记录本人自学感悟,转载需注明出处!
https://me.csdn.net/qq_39657909

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页