- 分布式文件管理系统:一种系统管理多台机器上的文件,HDFS 是分布式文件管理系统的一种。
- HDFS(hadoop distributed file system),它是一个文件系统,用于存储文件,通过目录树来定位文件;
- HDFS 的使用场景:适合一次写入,多次读出的场景,且不支持文件的修改。适合用来做数据分析,并不适合用来做网盘应用。
优缺点
- 优点:
(1)、高容错性
– 数据自动保存多个副本。它通过增加副本的形式,提高容错性。
–某一副本丢失以后,可以自动恢复
(2)、适合处理大数据
–数据规模:能够处理数据规模达到GB 、TB、甚至PB级别的数据
–文件规模:能够处理百万规模以上的文件数量
(3)、可搭建在廉价的机器上,通过多副本机制,提高可靠性 - 缺点
(1)、不适合低延时数据访问,比如毫秒级的存储数据,是做不到的
(2)、无法高效的对大量小文件进行存储
(3)、不支持并发写入、不支持文件修改
– 一个文件只能有一个写,不允许多个线程同时写
– 仅支持数据append追加
HDFS组成架构
- 1、NameNode:它是一个管理者
–管理HDFS的名称空间
– 配置副本策略
– 管理数据块映射信息
–处理客户端读写请求 - 2、DataNode:执行实际操作
– 存储实际的数据块
–执行数据块的读写操作 - 3、Client:客户端
–文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的快,再进行上传
–与NameNode交互,获取文件的位置信息
–与DataNode交互,读取或写入数据
–Client提供一些命令来管理HDFS,比如NameNode格式化
–Client可以通过一些命令来访问HDFS,比如HDFS增删改查操作 - 4、secondary NameNode:并非NameNode的热备。当NameNode挂掉的时候,他不能马上替换NameNode并提供服务
–辅助NameNode,分担其工作量,比如定期合并Fsimage和edits,并推送给NameNode
–紧急情况下,课辅助恢复NameNode