HDFS分布式文件系统

目录

一、HDFS简介

二、HDFS的重要概念

三、HDFS架构

四、HDFS客户端操作


一、HDFS简介

HDFS(全称:Hadoop Distribute FileSystem,Hadoop分布式文件系统)是Hadoop的核心组成,是 分布式文件存储服务

分布式文件系统横跨多台计算机,在大数据时代有着广泛的应用前景,它们为存储和处理规模的数据提供所需的扩展能力。

HDFS是分布式文件存储系统中的一种。

二、HDFS的重要概念

HDFS是通过统一的命名空间目录树来定位文件的;另外,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色(分布式的本质是拆分,各司其职)

  • 典型的 Master/Slave 架构

HDFS是典型的 Master/Slave 架构;

HDFS集群往往是一个NameNode(HA架构会有两个NameNode,联邦机制)+多个DateName组成;

NameNode是主节点,DateName是从节点

  • 分块存储(block机制)

HDFS上的文件在物理上是分块(block)存储的 , 块的大小可以通过配置参数来定义;Hadoop2.X版本中默认的block大小是128M

  • 命名空间(NameSpace)

Hadoop支持传统的层次型文件组织结构,用户或者应用程序可以创建目录,然后将文件存储在这些目录里,文件系统名字空间的层次结构与大多数现有的文件系统类似。用户可以创建、删除、移动或者重命名文件;

NameNode负责维护文件系统的命名空间,任何对文件系统名字空间或者属性的修改都将会被NameNode记录下来

HDFS提供给客户一个单一抽象的目录树,访问形式:hdfs://namenode的hostname:port/test/input

hdfs://linux161:9000/test/input

  • NameNode元数据管理

我们把目录结构与文件分块位置信息叫做元数据。

NameNode的元数据对应每一个文件对应的block信息(block的ID,以及所在DataName节点的信息)

  • DataNode数据存储

文件中的各个block具体存储管理由DataNode节点承担

  • 副本机制

为了容错,文件的所有block都会有副本,每个文件的block大小和副本数量都是可配置的。应用程序可以指定某个文件的副本数目,副本系数可以在文件创建的时候指定,也可以在之后改变。副本数量默认3。

  • 一次写入,多次读出

HDFS是设计成适应一次写入,多次读出的场景,且不支持文件的修改。(支持追加写入,不支持随机更新)

正是因为如此,HDFS适合用来做大数据分析的底层存储服务,并不适合用来做网盘等应用(修改不方便,延迟大,网络开销大,成本太高)

三、HDFS架构

架构图

  • NameNode(nn):HDFS集群的管理者,Master
  1. 维护管理Hdfs的命名空间(NameSpace);
  2. 维护副本策略;
  3. 记录文件块的(block)的映射信息
  4. 负责处理客户端读写请求
  • DataNode:NameNode下达命令,DataNode执行实际操作,Slave
  1. 保存实际的数据块
  2. 负责数据块的写入
  • Client:客户端
  1. 上传文件到HDFS的时候,client负责将文件切分为block块,然后进行上传;
  2. 请求NameNode交互,获取文件的位置信息
  3. 读取或写入文件,与DataNode交互
  4. client可以使用一些命令来管理HDFS或者访问HDFS

四、HDFS客户端操作

4.1 Shell命令操作HDFS

1.基本语法(二选一)

bin/hadoop fs 具体命令
bin/hdfs dfs 具体命令

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值