HDFS的基本概念

1、数据块(block)

HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块。

和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。

不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。

2、元数据节点(Namenode)和数据节点(datanode)

namenode用来管理文件系统的命名空间

其将所有的文件和文件夹的元数据保存在一个文件系统树中。

这些信息也会在硬盘上保存成以下文件:命名空间镜像(namespace image)及修改日志(edit log)

其还保存了一个文件包括哪些数据块,分布在哪些数据节点上。然而这些信息并不存储在硬盘上,而是在系统启动的时候从数据节点收集而成的。

datanode是文件系统中真正存储数据的地方。

客户端(client)或者元数据信息(namenode)可以向数据节点请求写入或者读出数据块。

其周期性的向元数据节点回报其存储的数据块信息。

从元数据节点(secondary namenode)

secondary namenode并不是元数据节点出现问题时候的备用节点,它和元数据节点负责不同的事情。

其主要功能就是周期性将namenode的namespace image和edit log合并,以防日志文件过大。

合并过后的namespace image也在从元数据节点保存了一份,以防namenode失败的时候,可以恢复。

2.1、namenode文件夹结构
${dfs.name.dir}/current/VERSION
                       /edits
                       /fsimage
                       /fstime

 

VERSION文件是java properties文件,保存了HDFS的版本号。

#Fri Dec 21 16:45:25 CST 2012
namespaceID=1555019963
cTime=0
storageType=NAME_NODE
layoutVersion=-32

layoutVersion是一个负整数,保存了HDFS的持久化在硬盘上的数据结构的格式版本号。

namespaceID是文件系统的唯一标识符,是在文件系统初次格式化时生成的。 

cTime此处为0 

storageType表示此文件夹中保存的是元数据节点的数据结构。

 

fsimage和edits:

当文件系统客户端(client)进行写操作时,首先把它记录在修改日志中(edit log)

元数据节点在内存中保存了文件系统的元数据信息。在记录了修改日志后,元数据节点则修改内存中的数据结构。

每次的写操作成功之前,修改日志都会同步(sync)到文件系统。

fsimage文件,也即命名空间映像文件,是内存中的元数据在硬盘上的checkpoint,它是一种序列化的格式,并不能够在硬盘上直接修改。

同数据的机制相似,当元数据节点失败时,则最新checkpoint的元数据信息从fsimage加载到内存中,然后逐一重新执行edit log中的操作。

 

2.2、secondary namenode的目录结构 
复制代码
${dfs.name.dir}/current/VERSION
                       /edits
                       /fsimage
                       /fstime
               /previous.checkpoint/VERSION
                       /edits
                       /fsimage
                       /fstime
复制代码

secondary namenode就是用来帮助namenode将内存中的元数据信息checkpoint到硬盘上的。

checkpoint的过程如下:

secondary namenode通知namenode生成新的日志文件edits.new,以后的日志都写到新的日志文件中。

secondary namenode用http get从元数据节点获得fsimage文件及旧的日志文件。

secondary namenode将fsimage文件加载到内存中,并执行日志文件中的操作,然后生成新的fsimage文件。

secondary namenode将新的fsimage文件用http post传回namenode

namenode可以将旧的fsimage文件及旧的日志文件,换为新的fsimage文件和新的日志文件(第一步生成的),然后更新fstime文件,写入此次checkpoint的时间。

这样namenode中的fsimage文件保存了最新的checkpoint的元数据信息,日志文件也重新开始,不会变的很大了。

 

2.3、datanode的目录结构 
复制代码
${dfs.name.dir}/current/VERSION
                       /blk_<id_1>
                       /blk_<id_1>.meta
                       /blk_<id_2>
                       /blk_<id_2>.meta
                       /...
                       /blk_<id_64>
                       /blk_<id_64>.meta
                       /subdir0/
                       /subdir1/
                       /...
                       /subdir63/
复制代码

blk_<id>保存的是HDFS的数据块,其中保存了具体的二进制数据。

blk_<id>.meta保存的是数据块的属性信息:版本信息,类型信息,和checksum

subdirxx:当一个目录中的数据块到达一定数量的时候,则创建子文件夹来保存数据块及数据块属性信息。

数据节点的VERSION文件格式如下:

namespaceID=1232737062
storageID=DS-1640411682-127.0.1.1-50010-1254997319480
cTime=0
storageType=DATA_NODE
layoutVersion=-18

 

Hadoop之HDFS基本概念 1.分布式文件系统(Distributed File System)    由来:数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 。   定义:是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。   特点:通透性,让实际 阅读详情

相关推荐

锐捷交换机堆叠配置举例

一、组网需求: 1)四台S2628G进行堆叠; 2)设备在堆叠前先设置好优先级; 3)使用光口堆叠的设备如RG-S2928G-E相关配置 二、组网拓扑 三、配置要点: 普通堆叠设备不需要配置,只要把堆叠模块和线缆连接好即可 堆叠模块不支持热插拔,即插在模块连上线缆后不能立即生效,需要重启设备才生效。 如果拔掉堆叠插槽后,想再插上模块堆叠,那么必须重启设备才生效 设备堆叠需要协商参数,时间会比较久,请耐心等待 堆叠时设备建议是...

dongsheng_9234的专栏 8288

HDFS源码分析(2)----HDFS源码结构

HDFS源代码分布在16个目录下,它们可以分为四类:

溜溜小哥 1万+

3分钟搞定!QQ音乐歌单导出Excel保姆级教程(含歌单ID获取技巧)

本文提供了一份详细的QQ音乐歌单导出Excel保姆级教程,帮助用户轻松备份和管理个人音乐收藏。教程核心在于获取歌单ID,并利用浏览器开发者工具执行脚本提取数据,最后通过Excel导入功能快速生成结构化表格。整个过程无需编程基础,3分钟即可搞定,是个人数据管理的实用技巧。

weixin_29008691的博客 1403

HDFS的基本概念(转)

HDFS的基本概念 1、数据块(block) HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块。 和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。 不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。 2、元数据节点(Namenode)和数据节点(data...

weixin_34203832的博客 255

飞书多维表格+影刀RPA:我如何用3个指令搞定每周的销售数据自动汇总(附完整配置截图)

本文详细介绍了如何利用飞书多维表格和影刀RPA实现销售数据的自动化汇总,通过三个核心指令(建立链接、列出记录、更新记录)简化繁琐的手工操作。文章包含完整的配置截图和实战指南,帮助用户快速部署自动化流程,提升工作效率。

weixin_29273849的博客 286

Kindle电子书DRM破解全攻略:从下载到转换的完整流程(含最新DeDRM插件配置)

本文详细介绍了如何合法移除个人购买的Kindle电子书的DRM保护,实现跨设备阅读与备份。核心内容包括使用最新DeDRM插件(如noDRM分支)配合Calibre进行配置,并针对亚马逊最新的KFX加密格式提供了密钥提取与实战操作指南。文章强调该方法仅适用于个人合理使用,旨在帮助读者真正掌控自己的数字资产。

delta的博客 577

HDFS源码解析

HDFS NameNode、DataNode启动流程、HDFS元数据管理流程、写数据流程源码详解

secret2316352792的博客 2030

ELK - CentOS7 安装 elasticsearch 7.17.5

elk elasticsearch 安装

qq_19783793的博客 1462

HDFS基本概念

通常大型 Hadoop 集群是以机架的形式来组织的,同一个机架上的不同节点间的网络状况比不同机架之间的更为理想,NameNode 设法将数据块副本保存在不同的机架上以提高容错性。HDFS 不能够自动判断集群中各个 DataNode 的网络状况情况,Hadoop 允许集群的管理员通过配置 net.topology.script.file.name 参数来确定节点所处的机架,配置文件提供了 ip 到 rackid 的翻译。NameNode 通过这个配置知道集群中各个 DataNode 机器的 rackid。

qq_37436172的博客 2461

别再只调电压了!深入理解数控电源的CC/CV模式与双闭环PID控制(以BUCK电路为例)

本文深入解析数控电源的CC/CV模式与双闭环PID控制技术,以BUCK电路为例,探讨如何通过双闭环控制优化负载突变响应和模式切换稳定性。文章详细介绍了电压环与电流环的协同工作原理、PID参数整定技巧及工程实践中的非线性补偿方法,帮助工程师提升电源设计的智能控制能力。

weixin_27017211的博客 265

基于物联网技术设计的微型消防小车控制系统(STM32+ESP8266局域网)(181)

基于物联网技术的小微型消防车控制系统。通过远程控制功能,用户能够灵活操作消防车的行驶,方便快速抵达火灾现场。环境感知功能实时采集烟雾浓度、温湿度信息,为灭火决策提供科学依据。火源定位功能采用自动和手动两种模式,准确迅速地定位火源,并通过报警提示用户。灭火功能则根据火源定位结果,自动或手动启动干粉灭火器进行高效灭火。这些功能的结合实现了对小型火灾的全面应对,提升了消防效率与安全性,减少了火灾带来的损失。通过本项目的设计与实现,为消防领域提供了一种创新且实用的解决方案。

3082

Hadoop学习笔记

前期搭建准备: vim /etc/hosts 将IP地址和主机名加入在最后 **免密登录的设置 https://www.cnblogs.com/wenxingxu/p/9597307.html 进入主目录 h1m1 下/root ls -a 查看.ssh .ssh是放密匙的地方,cd进入.ssh/ .ssh/文件夹下,ssh-keygen -t rsa 三次回车(即默认) ssh-keygen 生成密匙 -t rsa 使用rsa算法进行加密 ------------------------..

Kaqiulee的博客 1055

〔重庆理工大学〕大学物理实验--变温霍耳效应及其参数测定

每个老师要求不同,实验报告内容和数据仅供参考。

Pretty Boy Fox的博客 3044

HDFS学习——基本概念

HDFS是Hadoop的核心之一,是一个分布式文件系统。所谓分布式文件系统,就是多个节点通过网络形成一个整体系统,它和单机文件系统的最大区别在于,可以存储一个远超单机存储能力的文件。 其存储方式大致就是:把文件分隔成若干个份,存放在不同的节点上,再由一个角色(HDFS中是Namenode)负责记录文件的某一份存放在哪个节点上。当用户想要读取文件的时候,首先会和Namenode交互,获取文件数据的具...

孤落 423

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HDFS入门(一)—— HDFS相关基本概念

HDFS入门(一)—— HDFS相关基本概念 文章目录HDFS入门(一)—— HDFS相关基本概念HDFS 概述1.1 HDFS 产出背景 及 定义1 )HDFS 产生背景2 )HDFS 定义1.2 HDFS 优缺点HDFS优点HDFS缺点1.3 HDFS 组成架构HDFS组成架构1.4 HDFS 文件块大小 (面试重点)HDFS 文件块大小 HDFS 概述 1.1 HDFS 产出背景 及 定义 1 )HDFS 产生背景 随着数据量越来越大, 在一个操作系统存不下所有的数据, 那么就分配

小哨的博客 2632

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Hadoop 之 HDFS基本概念

1.HDFS的基本概念 答:块(Block)、NameNode、DataNode。HDFS的文件被分成块进行存储,默认块的大小为64M,所以说块是文件存储和处理的逻辑单元。NameNode是管理节点,存储文件元数据,包括文件与数据块的映射、数据块与数据节点的映射表。DataNode是HDFS的工作节点,用来存放数据块的。 2.HDFS体系结构 3.HDFS中数据管理和容错 4....

吨吨吨 1860

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

HDFS:基本概念

1、简介 HDFS(Hadoop Distributed File System )是Hadoop分布式文件系统。HDFS设计理念之一就是让它能运行在普通的硬件之上,即便硬件出现故障,也可以通过容错策略来保证数据的高可用。2、基本概念 块-block:HDFS的文件被分成多个块进行存储,HDFS块的默认大小是64MB,块是文件存储管理的逻辑单元。每一个block会在多个datanode上存储多份

开开_王子的博客 1091

HDFS的原理与基本概念

HDFS的基本概念 1、HDFS前言 (1)设计思想 分而治之:将大文件、大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析 (2)在大数据系统中作用 为各类分布式运算框架(如:mapreduce,spark,tez,…)提供数据存储服务 (3)重点概念 文件切块,副本存放,元数据 2、HDFS的概念和特性 概念: (1)它是一个文件系...

shaonianbz的博客 764

HDFS入门之基本概念

HDFS入门之基本概念 1. HDFS介绍HDFS 是 Hadoop Distribute File System 的简称,意为:Hadoop 分布式文件系统。是 Hadoop 核心组件之一,作为最底层的分布式存储服务而存在。分布式文件系统解决的问题就是大数据存储。它们是横跨在多台计算机上的存储系统。分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力。

Running_Tiger的博客 9787

Hadoop学习之HDFS基本概念

由于一台机器的存储容量有限,一旦数据量达到足够的级别,就需要将数据存放在多台机器上,这就是分布式文件系统,即,DFS是HDFS的基础。分布式文件系统DFS基于模式,通常一个分布式文件系统提供多个供用户访问的服务器,一般都会提供备份和容错的功能。分布式文件系统管理的物理资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,而非文件系统管理的物理存储资源一定直接连在本地节点上。HDFS是Hadoop自带的分布式文件系统,即.HDFS是一个使用Java语言实现的分布式、可横向扩展的文件系统。...

Apathfinder的博客 775
上一篇: 使用Ganglia监控Hadoop集群
下一篇: hadoop1.2.1+zookeeper-3.4.5+hbase-0.94.1集群安装
weixir123
博客等级 码龄16年 1粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值