HDFS Hadoop分布式文件存储系统整体概述

HDFS

整体概述举例:

包括机架 rack1、rack2 包括5个Datanode,一个Namenode(主角色 )带领5个Datanode(从角色 ),每一个rack中包含不同的block模块文件为分块存储模式 。块与块之间通过replication进行副本备份 ,进行冗余存储,Namenode对存储的元数据进行记录 。该架构可以概括为一个抽象统一的目录树结构

  1. 主从架构

    HDFS集群是标准的master/slave主从架构群,一般一个HDFS集群有一个Namenode和一定数目的Datanode组成,Namenode是HDFS主节点(维护元数据),Datanode(管理数据块)是HDFS从节点,两种角色共同完成分布式文件的存储服务。

  2. 分块存储

    HDFS中文件在物理上是分块存储的,每一块默认大小是128M,不足128M则自身为一块。

    块的大小可以通过配置参数来规定,位于hdfs-default.xml中,dfs.blocksize。

  3. 副本机制

    文件的每个block都会有副本,副本系数可以在文件创建的时候指定,也可以在之后通过命令改变,副本数量由参数dfs.replication控制,默认数为3,连同本身共三块副本。

  4. 元数据(解释型数据)管理

    HDFS中元数据包括两种类型:

    1)文件自身属性信息:文件名称、权限,修改时间、文件大小、复制因子、数据块大小。

    2)文件块位置映射信息:记录文件块和Datenode之间的映射信息,即哪个块位于哪个节点上。

  5. 抽象目录树(namespace)

    即传统的层次文件组织结构。用户可以创建目录,然后将文件保存在目录中,Namenode负责维护文件系统的namespace名称空间,任何对文件系统名称空间或属性的修改都将被Namenode记录下。

  6. 数据块存储

    文件各个block的具体存储管理由DataNode节点承担,每一个block都可以在多个DataNode上存储。

常用操作

文件系统的shell命令 hadoop fs [generic options]

hadoop fs -ls file:/// #操作本地文件系统

hadoop fs -ls hdfs://node1:8020/ #操作HDFS分布文件系统

hadoop fs -ls / #直接根目录,没有指定协议,将加载读取fs.defaultFS

​ 2.创建文件夹 hadoop fs -mkdir [-p] ... (-p 沿着路径创建父目录)

​ 3.查看指定目录下内容 hadoop fs -ls [-h] [-R] [ ...] (path 指定目录路径、-h 人性化显示文件size、 -R递归查看指定目录及其子目录)

​ 4.上传文件到HDFS指定目录下 hadoop fs -put [-f] [-p] ... ( -f覆盖目标文件【已经存在下】,-p保留访问和修改时间,所有权和权限,localsrc本地文件系统, dst目标文件系统)

​ 5.查看HDFS文件内容 hadoop fs -cat ... 读取指定文件全部内容,显示在标准输出控制台。

​ 6.下载HDFS文件 hadoop fs -get [-f] [-p] ... (下载文件到本地文件系统指定目录, localdst必须是目录, -f 覆盖目标文件 -p保留访问和修改时间,所有权和权限)

​ 7.拷贝HDFS文件 hadoop fs -cp [-f] ...(-f 覆盖目标文件)

​ 8.追加数据到HDFS文件中 hadoop fs -appendToFile ...(将所有给定本地文件的内容追加到给定dst文件,dst如果不存在,将创建该文件)

工作流程

  1. 管道传输
  2. ACK校验
  3. 副本原则
相关推荐
yumgpkpm1 小时前
腾讯云TBDS与CDH迁移常见问题有哪些?建议由CDH迁移到CMP 7.13 平台(类Cloudera CDP,如华为鲲鹏 ARM 版)
hive·hadoop·zookeeper·flink·spark·kafka·hbase
无心水2 小时前
【分布式利器:限流】3、微服务分布式限流:Sentinel集群限流+Resilience4j使用教程
分布式·微服务·架构·sentinel·分布式限流·resilience4j·分布式利器
一起学开源3 小时前
分布式基石:CAP定理与ACID的取舍艺术
分布式·微服务·架构·流程图·软件工程
雁于飞3 小时前
分布式基础
java·spring boot·分布式·spring·wpf·cloud native
Tadas-Gao8 小时前
Spring Boot 4.0架构革新:构建更精简、更安全、更高效的Java应用
java·spring boot·分布式·微服务·云原生·架构·系统架构
西格电力科技11 小时前
分布式光伏 “四可” 装置:“发电孤岛” 到 “电网友好” 的关键跨越
分布式·科技·机器学习·能源
bigdata-rookie1 天前
Spark 部署模式
大数据·分布式·spark
蒋士峰DBA修行之路1 天前
实验二十二 GaussDB分布式场景调优
分布式·gaussdb
yumgpkpm1 天前
数据可视化AI、BI工具,开源适配 Cloudera CMP 7.3(或类 CDP 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)值得推荐?
人工智能·hive·hadoop·信息可视化·kafka·开源·hbase
青靴1 天前
轻量级 CI/CD 实战(三):Kafka消费者Docker容器化部署
分布式·docker·kafka