Hadoop HDFS原理

article/2025/10/24 4:06:32
一、HDFS介绍
HDFS 包括 块、NameNode、DataNode,适用于一次写多次读,不支持并发写。具有通透性、容错性。
HDFS中文件被分成块进行存储,其块默认大小为64M,块是文件存储处理的逻辑单元。用户通过网络访问文件。
NameNode 为管理节点,存放文件元数据。其包括文件与数据块的映射表、数据块与数据节点的映射表(文件名、文件有的块,以及块所在的DataNode)

用户请求访问文件时,先向NameNode请求文件的信息,然后访问具体的DataNode获取块数据,并进行拼接。Secondary NameNode为NameNode的备份,防止发生单点故障,导致文件不可访问,NameNode存储的文件信息在内存中。EditLog为更改的操作,通过EditLog和FsImage可生成最新的文件信息,其中EditLog和FsImage存储在磁盘上。
DataNode主要用于存放数据块,一般对文件进行3份副本。分布在两个机架的三个节点上,DataNode定期向NameNode发送心跳消息,网络故障、或者宕机。
二、文件读写
 1.文件读操作

(1)客户端向NameNode发出文件读取请求(文件名)
(2)NameNode向客户端返回数据元信息(文件名、文件有的块,以及块所在的DataNodes )
(3)客户端访问DataNode并读取Blocks,将Blocks进行组装。
2.文件写操作

(1)将文件拆分为固定大小的块
(2)通知NameNode,NameNode查询可用的、在线、有足够磁盘空间的DataNodes返回给客户端。
(3)客户端根据返回的信息,将Block写入具体的DataNode
(4)DataNode间通过复制管道进行流水线复制,将Block写入另一个DataNode
(5)复制完成后更新元数据,通知NameNode已完成创建一个新的数据块。Client写完一个Block后再写下一个Block
三、HDFS文件系统特点
1.数据冗余、硬盘容错(3份备份,多个机架)
2.流式的数据访问(一次写入、多次读取,顺序读写)
3.存储大文件(小文件将增加NameNode的压力)
适合数据批量读写,吞吐量高,不适合交互式应用(数据库),很难满足低延迟,不支持多个用户并发写相同文件
四、HDFS应用
通过hadoop fs -(put、get、ls、cd、rm、mkdir等等)

http://chatgpt.dhexx.cn/article/ra1R1oow.shtml

相关文章

HDFS原理(超详解)

简介 HDFS(Hadoop Distributed File System )Hadoop 分布式文件系统。是根据 google 发 表的论文翻版的。论文为 GFS(Google File System)Google 文件系统。 HDFS 有很多特点: ① 保存多个副本,且提供容…

hdfs原理详解

hdfs概述 namenode 管理了整个文件系统的元数据 (metadata) 管理众多datanode 对外提供服务的唯一入口 rpc端口:9000 使用文件系统的端口 hdfs://node-1:9000 http端口:50070 hdfs webui页面的端口 查看端口 http://node-1:50070d…

深入分析HDFS原理及读写流程

本文目录 一、架构体系1.1、什么是HDFS?1.2、组成HDFS的各模块作用1.2.1、Client1.2.2、NameNode1.2.3、DataNode1.2.4、SecondaryNameNode 二、数据读写2.1、读数据2.2、写数据 三、优缺点 一、架构体系 1.1、什么是HDFS? HDFS即Hadoop Distributed F…

HDFS原理与实操

文章目录 1 概述1.1 HDFS的优缺点1.2 HDFS组成架构 2 HDFS 读写流程2.1 写数据流程2.2 读数据流程 3 NameNode和SecondaryNameNode原理4 DataNode原理5 HDFS生产调优5.1 HDFS核心参数配置5.2 HDFS集群压测5.3 HDFS白名单与黑名单5.4 HDFS集群扩容及缩容5.5 HDFS存储优化5.6 HDF…

HDFS 原理 详解

前言 一、HDFS的设计原理 二、什么是零拷贝 三、什么是DMA 四、HDFS 架构剖析 HDFS 架构整体概述 HDFS 架构图 五、HDFS 集群角色介绍 1.主角色: namenode 2 从角色:datanode 3 主角色辅助角色: secondarynamenode 六、HDFS重要特性--主从架构 七、HDFS重要特性--分块…

HDFS工作原理

一、HDFS 组成架构 1)NameNode(nn):就是Master,它是一个主管、管理者。 (1)管理HDFS的名称空间 (2)配置副本策略 (3)管理数据块(Bl…

hdfs原理

简介 HDFS(Hadoop Distributed File System )Hadoop分布式文件系统。是根据google发表的论文翻版的。论文为GFS(Google File System)Google 文件系统。 HDFS有很多特点: ① 保存多个副本,且提供容错机制,副本丢失或宕机自动恢复。默认存3份。 (用空间换安全) ② 运行…

Hadoop原理之——HDFS原理

Hadoop 3个核心组件: 分布式文件系统:Hdfs——实现将文件分布式存储在很多的服务器上(hdfs是一个基于Linux本地文件系统上的文件系统) 分布式运算编程框架:Mapreduce——实现在很多机器上分布式并行运算 分布式资源调度…

HDFS架构及原理

HDFS架构及原理 1、HDFS架构及存储 HDFS 采用Master/Slave的架构来存储数据,这种架构主要由四个部分组成,分别为HDFS Client、NameNode、DataNode和Secondary NameNode。一个HDFS集群是由一个NameNode和一定数目的DataNode组成的。NameNode是一个中心服…

HDFS基本原理及数据存取实战

--------------------------------------------------------------------------------------------------------------- [版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/51622547 作者&am…

QT的开发学习路线

基础组件;页面布局;通信机制;

QT的学习

QT是利用C进行编写,而QT则是C的实际运用的一种方式。 QT也称GUI------grphical user interface(图形用户接口) 通过图形的方式操纵计算机用户界面 QT的特点以及应用: 1、跨平台(可以在多个平台上进操作&#xff08…

Qt 学习之路 2 --- 读书笔记

一、文章来由 来自豆子老师非常好的一本Qt教程,但是只有网络版,所以用这个做笔记了,不动笔墨不读书嘛~~ 二、读书笔记 1、Qt 学习之路 2(2):Qt 简介 1.1 关于 Qt 的一站式解决 Qt 是一个著名的 C 应用…

Qt学习之路之 QTextEdit 重温

其实,QTextEdit 也有对文本的编辑函数, 剪切,复制,撤销..... 看看下面的这个简单的例子: 控件一目了然。按钮 QTextedit 对象 , 垂直布局。 -------------------------------------------------- 环境&…

QT的进一步学习

QT的进一步学习 来源: ChinaUnix博客  日期: 2006.10.02 17:41 (共有条评论) 我要评论 本文收录了互联…

Qt学习之路之QMovie动画

QMovie类是一个很方便的类,用于播放动画。在刷新页面的时候,可以尝试用QMovie 来实现等待界面。 QMovie类用于显示简单的动画,没有声音。 首先,通过将一个文件的名称或者一个指针传递给QMovie的构造函数构建一个QMovie对象。传递…

QT学习之路-记事本

1、在创建记事本之前先明白有哪些功能: 先创建一个菜单栏,菜单栏是用来装各种功能的一个地方如上图所示,文件、编辑所在的地方为菜单栏, //创建菜单栏QMenuBar *menubarmenuBar();菜单栏创建好后再创建菜单,菜单在菜单…

QT学习

文章目录 前言一:Qt的三个基类QObject、QApplication和QWidget一:QObject类二:Qapplication类三:QWidget 二:Qt中QMainWindow、QWidget、QDialog的区别基础知识1:容器类常用的QListQStack和QQueueMap和Mult…

【QT学习之路】QThread的简单使用

QThread的使用说明:QThread线程类是QT已经封装好的, 如果要使用线程, 就派生出子类并且实现线程接口函数run(run就是线程任务函数) 下面就用QThread实现当前系统时间的获取并且在主界面(UI线程)上显示,实现…

【QT学习之路,QT安装】

1,安装QT 系统环境:ubuntu 22.04 sudo apt-get install build-essential sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools sudo apt-get install qtcreator sudo apt-get install qt5* 2,安装成功后会有4个程序 3…