Hadoop系列 (三):HDFS详细介绍

Hadoop系列文章

Hadoop系列 (一):在CentOS中搭建hadoop环境(伪分布式)

Hadoop系列 (二):完全分布式搭建(腾讯云服务器+阿里云服务器)

Hadoop系列 (三):HDFS详细介绍

Hadoop系列 (四):Yarn详细介绍

Hadoop系列 (五):MapReduce详细介绍

Hadoop系列 (六):Spark搭建

Hadoop系列 (七):ZooKeeper详细介绍

HDFS简介

HDFS( Hadoop Distributed File System ),意为:Hadoop分布式文件系统。是Apache Hadoop核心组件之一,作为大数据生态圈最底层的分布式存储服务而存在。

用于存储和管理文件,通过统一的命名空间(类似于本地文件系统的目录树)。

HDFS是分布式的,服务器集群中各个节点都有自己的角色和职责。

HDFS基本概念

  1. HDFS是用Java语言实现的、分布式的、可扩展的文件系统。

  2. HDFS是Hadoop的三大核心(HDFS、MapReduce、YARN)和四大模块(Hadoop Common、Hadoop HDFS、Hadoop MapReduce、Hadoop YARN)之一。

  3. HDFS主要应用于海量数据的存储。

  4. HDFS的基本存储单位:块,块是最小的数据读写单位,默认存储块大小为128M。块的大小可以在配置文件hdfs-site.xml中修改。块的默认单位是Byte,每个块都有自己的全局唯一ID。HDFS就是以块为单位在集权服务器上分配存储的。

  5. 块的好处就是:一个文件的大小可以大于集群中任一磁盘容量;块适合于数据备份,极大的提高了集群的容错能力和可用性。

分布式文件系统特点

  1. 高可靠:按位存储,就近原则分配数据,会把数据分配到离它最近的数据节点(DateNode)上。

  2. 高扩展:集群节点可以根据业务需求随时扩展和缩减。

  3. 高效性:可以在各个集群节点之间动态移动数据,保证集群各节点之间的动态平衡。

  4. 高容错:自动保存多个副本(默认3个,可自行修改),并且能够将失败的任务重新分配,解决故障,成本低。

  5. 不适合存储小文件

  6. 不适合低延迟的数据访问(多用于离线数据分析)

HDFS设计目标

  1. 故障检测和自动快速恢复是HDFS的核心架构目标。因为HDFS可能有成百上千的服务器组成,每一个组件都有可能出现故障。

  2. 相较于数据访问的反应时间,更注重数据访问的高吞吐量。HDFS被设计成用于批处理,而不是用户交互式的。

  3. 典型的HDFS文件大小是GB到TB的级别。所以,HDFS被调整成支持大文件(Large Data Sets) 。它应该提供很高的聚合数据带宽,一个集群中支持数百个节点,一个集群中还应该支持千万级别的文件。

HDFS架构

HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。

  1. NameNode: 是Master节点,中心服务器。管理数据映射,处理客户端的读写请求,配置副本策略。Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录
  2. DataNode: 是Slave节点,负责存储client发来的数据,执行读写操作。在Namenode的统一调度下进行数据块的创建、删除和复制。
  3. SecondaryNameNode: 分担NameNode工作量,是NameNode的冷备份。
  4. 热备份: 系统处于正常运转状态下的备份,假如b是a的热备份,一旦a出现故障,b可以马上运行代替工作。
  5. 冷备份: 与热备份对应,一旦a出现故障,冷备份c不能马上代替a,但c上存储a的一些信息,可以减少损失。
  6. edits: 元素据的操作日志。
  7. fsimage: 是内存命名空间元数据在外存的镜像文件。
  8. editlog: 是各种元数据操作的 write-ahead-log 文件,在体现到内存数据变化前首先会将操作记入 editlog 中,以防止数据丢失。

注:fsimage 和 editlog是在磁盘保存两个元数据管理文件

HDFS应用场景

适合场景:大文件、数据流式访问、一次写入多次读取、高容错等。

不适合场景:小文件、交互式访问、频繁修改、低延迟处理等。

HDFS三大组件

NameNode

NameNode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。

NameNode的工作机制如下:

  1. 第一
  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值