《深入HDFS》--HDFS内存存储

【Hadoop】一图学习HDFS源码结构系列——内存存储Lazy persist 【Hadoop】一图学习HDFS源码结构系列——内存存储Lazy persist 最近在学习HDFS的源码,源码规模本身比较大,学了也容易忘记,于是对于每一个小部分的功能都用Visio整理了一结构图,方便以后有用时使用 从三个方面理解Lazy persist功能 异步持久化算法 我们知道,内存空间一定是有限的,而且掉电会丢失,不可能把所有的数据都存放到内存里面,所以HDFS会不断地... 阅读详情

内存存储

HDFS的数据存储由多种,内存存储是其中的一种,其以机器作为数据存储的载体。

内存可能存储的缺点:
1.数据临时保存在内存中,服务一旦停止(或宕机),数据就丢失
2.数据存在内存中,服务停止时持久化到磁盘
为避免以上出现的问题,选用异步持久化的方式处理,即在内存存储新数据时,持久化最旧的数据。
HDFS使用LAZY_PERSIST内存存储策略:
在这里插入图片描述

异步存储步骤如下:
l )对目标文件目录设置 StoragePolicy 为 LAZY_PERSIST 的内存存储策略。
2 )客户端进程向 NameNode 发起创建/写文件的请求 。
3 )客户端请求到具体的 DataNode 后 DataNode 会把这些数据块写入 RAM 内存中,同
时启动异步线程服务将内存数据持久化写到磁盘上 。

文件内存存储策略设置

文件存储策略默认使用的是: StoragePolicy.DEFAULT
如果要使用内存存储,可使用如下方法:

1.命令行
    hdfs storagepolicies -setStoragePolicy -path <path> -policy LAZY_ PERSIST
2.调用程序
FSDataOutputStream fos =fs.create(path ,FsPermission.getFileDefault() ,
EnumSet.of(CreateFlag.CREATE , CreateFlag.LAZY_PERSIST),bufferLength,replicationFactor,blockSize,null) ;
// DFSClient 创建文件方法
public DFSOutputStream create(String src , FsPermission permission,EnumSet <CreateFlag> flag, short replication, long blocksize,Progressable progress, int buffersize, ChecksumOpt checksumOpt)throws IOException {
return create(src, permission, flag , true,replication, blockSize, progress, buffersize , checksumOpt,nu11);
}
LAZY_PERSIST的使用

因使用的是内存存储,存储介质是RAM_DISK,因此在使用之前需设置虚拟内存。如tmpfs文件系统,tmpfs被挂在到/dev/shm,实际上存储在该目录下的文件是保存在内存中的。
如果想要更改,则进行设置:

sudo mount t tmpfs -o size=16g tmpfs /mnt/dn-tmpfs/

将虚拟内存盘设置到dfs.datanode.data.dir中,如:

<property>
    <name>dfs.datanode data . dir</name>
    <Value>/grid/0 , /grid/l , /grid/2, [RAM_DISK] /mnt/dn-tmpfs</value>
</property>

使用时应确认异构存储策略是否被关闭,属性dfs.storage.policy.enabled
确认是否设置最大内存, dfs.datanode.max.locked.memory,看看是否超过DataNode界定啊的最大内存大小。

HDFS DataNode堆内存使用率过高,HDFS存储量不够导致宕机 今天来公司发现hadoop集群出现了HDFS DataNode堆内存使用率超过阈值的告警,然后查看集群各个节点的状态发现有一个数据节点宕机了,经过一上午的处理我来聊聊解决的几个方法: 目录: 1、将HDFS备份数降低 2、删除无用HDFS数据和Hbase表格 3、设置kafka的日志时间 4、删除本机无用文件 5、清理Trash回收站 6、Balancer重新平衡 1、将备份数降低 1)将默认的备... 阅读详情

相关推荐

HDFS的数据存储

HDFS内存存储是一种十分特殊的存储方式,将会对集群数据的读写带来不小的性能提升,而HDFS异构存储则能帮助我们更加合理地把数据存到应该存的地方。

程序员野蛮成长 3139

HDFS内存存储

前言 上一篇文章主要阐述了HDFS Cache缓存方面的知识,本文继续带领大家了解HDFS内存存储相关的内容.在HDFS中,CacheAdmin设置的目标文件缓存是会存放于DataNode的内存中,但是另外一种情况也可以将数据存放在DataNode的内存里.就是之前HDFS异构存储中提到的内存存储策略,LAZY_PERSIST.换句话说,本文也是对HDFS内存存储策略的一个更细致的分析.考虑

走在前往架构师的路上 1万+

HDFS与Alluxio整合:内存加速存储层实现

HDFS作为大数据时代的“存储基石”,支撑了PB级数据的持久化存储,但面对实时分析、机器学习训练等对IO性能极高的场景,其“磁盘为主”的架构逐渐暴露瓶颈——比如数据读取延迟高、多计算框架共享数据效率低。而Alluxio(原名Tachyon)作为内存级分布式存储系统,恰好能成为HDFS与计算框架之间的“加速层”:它将热点数据缓存到内存中,让计算任务像“取快递柜里的包裹”一样快速获取数据,而非“跑到仓库深处找货”。本文将从背景痛点。

Java大师兄的博客 1030

LCC学习笔记之一 --内存和字符串管理

LCC学习笔记之一--内存和字符串管理    出于对c编译器的兴趣,近日对比GCC和LCC之后,发现LCC很小巧,而且有一本《可变目标C编译器设计与实现》可参考 ,于是最终选择LCC作为阅读对象。虽然GCC更成熟且有价值,但其源码庞大,可参考的中文资料不多,还是放在后面阅读吧。        在LCC中,存储管理(包括字符串管理)、符号管理和类型管理是最基本的模块,其他的模块都会频繁用到这

zhongyh的专栏 2584

【HDFS】将namenode和journal node的存储editlog目录配置为内存盘

【HDFS】将namenode和jouranalnode的存储editlog目录配置为内存盘

LifeIsGood 633

8、HDFS内存存储策略支持和“冷热温”存储

HDFS支持把数据写入由DataNode管理的堆外内存DataNode异步地将内存中数据刷新到磁盘,从而减少代价较高的磁盘IO操作,这种写入称为 Lazy Persist写入该特性从Apache Hadoop 2.6.0开始支持。

alanchanchn的专栏 8万+

存储管理

       今天我们看一下lcc的存储管理,在我们写的一些复杂的程序中,都需要用到动态内存的分配,即使用malloc,但我们都知道使用malloc就需要显式的使用free来释放掉。问题是有很多程序员会忘记释放空间,造成内存泄漏。       lcc在管理内存的思想是统一释放,这主要是来自于我们常遇到的窗口,就是在你关闭窗口时,所分配的按钮,滚动条等都释放了。       lcc主要是使用

cha_echo的专栏 662

国内网络环境下Calico v3.26.4安装避坑指南(附华为云镜像加速脚本)

本文为国内开发者提供Calico v3.26.4的高效部署指南,重点介绍如何通过华为云镜像加速服务解决Kubernetes集群网络插件镜像拉取问题。文章包含详细的镜像加速脚本、部署清单修改方法及深度排错技巧,帮助开发者快速完成Calico网络插件的安装与配置。

brown的博客 288

【存储学习笔记】2:磁盘柜(Disk Enclosure)模式

硬盘柜(Disk Enclosure)可以组织多块硬盘。由于只有背板是只有一个的,别的是冗余的,所以背板容易有单点故障问题,为了减少背板故障概率,一般使用无源背板。

大桔骑士的学习笔记 1970

SDI-12协议与STM32 进行uart通信

其中DIR_OUT_SDI是一个IO引脚,控制UART_TX_SDI是否使能,U10是三态门IC,即拉低DIR_OUT_SDI使能stm32输出,拉高DIR_OUT_SDI失能输出,串口配置8位数据位,偶校验,1位停止位,1200波特率。示波器测试得到传感器的应答信号如下:第一个是唤醒信号,拉高电平13毫秒,之后保持20毫秒低电平,第二个数据帧是激活信号,即ascii码: "0!",第三个是传感器的应答信号:"0\r\n"

weixin_42186805的博客 4401

保姆级教程:用Kvaser DB Editor从零创建你的第一个DBC文件(附CAN信号属性详解)

本文提供了一份详细的Kvaser DB Editor教程,指导用户从零开始创建DBC文件,并深入解析CAN信号属性的关键设置。通过步骤清晰的安装指南、信号属性配置详解和实用技巧,帮助工程师和学生快速掌握CAN总线通信的核心工具,提升工作效率。

weixin_27076351的博客 247

HDFS高级--数据存储与管理

HDFS高级--数据存储与管理

qq_46439199的博客 2024

STM32踩坑--NoST-LINK detected

这里出现的NoST-LINK detected是没有扫描到端口 在我使用一段Fly-MCU后,有一天突然发现出现如上错误,再检查的过程中检查以下几点 1.STM32 魔术棒的设置 1.1Debug设置 1.2 utilities 设置没有问题,与原来一样又看了下端口——在设备管理器中;也没有问题 ...

qq_53002477的博客 2万+

HDFS中的内存存储支持

因工作中olap场景中对性能的极致要求,我们将部分业务数据的hdfs路径的存储策略设置为放在内存中(RAM_DISK)中,这是在hadoop2.6以后的版本支持的。抽空翻译了官网的文章 HDFS中的内存存储支持 介绍 管理员配置 限制副本使用的内存 在数据节点上设置RAM磁盘 选择tmpfs(vs ramfs) 挂载RAM磁盘 使用RAM_DISK存储类型标记tmpfs卷 ...

数据之路 3733

攻防世界 web高手进阶区 9分题 Web_python_flask_sql_injection

继续ctf的旅程,开始攻防世界web高手进阶区的9分题,本文是Web_python_flask_sql_injection的writeup

闵行小鱼塘 1473

二十一.基于国民MCU 的增加M4F DSP库调用的验证

Cortex-M4F内核不仅内置硬件FPU单元,还支持多种DSP指令集,比如支持单周期乘加指令(MAC)等。因此Cortex-M4执行所有的DSP指令集都可以在单周期内完成,而Cortex-M3和M0需要多个指令和多个周期才能完成同样的功能。比如开方运算,M3和M0只能通过迭代法(标准数学函数库)计算,而M4F直接调用VSQRT指令完成。参考:\Nationstech.N32G45x_Library.1.1.1\Nationstech.N32G45x_Library.1.1.1\projects\n32g4

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 934

HDFS 的内存存储是什么?

2019-06-11 关键字:Hadoop 内存存储、HDFS 存储结构、LAZY PERSIST 我们的 HDFS 啊,它的定位就是一个文件系统,是用业存储文件的。那 HDFS 对于文件的存储方式有两种 1、内存存储 2、异构存储 这篇文章,我们就来简单聊聊 HDFS 的 “内存存储”。 首先,我们来了解一下到底什么是 “内存存储”? 那还用说嘛,当...

anxian8397的博客 351

Python 爬虫实战:抓取应届生求职网校招岗位信息,助力学子就业

应届生求职网作为国内知名的招聘平台,汇聚了大量企业的校招岗位信息。了解这些岗位信息,对于应届毕业生制定求职策略、企业制定招聘计划以及相关就业市场分析等都具有重要意义。因此,本文将深入探讨如何运用 Python 爬虫技术从应届生求职网平台抓取校招岗位信息,为应届毕业生提供有益的就业信息支持。本文深入探究了利用 Python 爬虫技术从应届生求职网平台抓取校招岗位信息的全流程。从前期的环境搭建、模拟登录,到核心的数据抓取、存储,再到后续的数据分析与可视化,都详细展开讲解并提供代码支持。

u014481728的博客 1300

HADOOP之HDFS 的数据存储----HDFS内存存储(1)

HDFS 内存存储 用机器的内存作为存储数据的载体。 内存存储策略:LAZY_PERSIST 1.1 HDFS 内存存储原理 问题:数据丢失、内存空间有限。 方案:异步持久化---在内存存储新数据的同时,持久化距离当前时刻最远的数据。 图 LAZY_PERSIST策略原理图 异步存储的大体步骤: 对...

Y_FC_EMBEDD的博客 1656

MoCap 动作捕捉开源库教程

数据通过 tf2 和支持不同 QoS 设置的 /poses 主题直接发布。该软件包最初是为 Crazyswarm 开发的,用于跟踪多达 50 个飞行机器人。

机器人控制与仿真应用 1307

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Hadoop系列:HDFS 的内存存储是什么?

首先,我们来了解一下到底什么是 “内存存储”?那还用说嘛,当然就是使用内存来存储数据的方式咯!是的,在 HDFS 中,“内存存储” 就是我们常听到的 "我们可以在 HDFS 上创建某个文件时设定它的存储模式为 “LAZY_PERSIST” 模式,如此一来,后续在这个文件上所追加的所有数据都会被直接保存在对应数据节点的内存上。而使用内存来作为数据的存储介质的好处想必就不用我多说了,但同时在内存上保存数据的坏处也很让人头疼啊。内存的容量小、掉电数据尽数丢失,无论哪一个问题都能让相关人员头皮炸裂。

兴趣是最好的老师 471

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HDFS-LAZY_PERSIST内存存储

DataNode进行内存式存储 当我们为文件设置了LAZY_PERSIST存储方式后,DataNode也要进行内存式的存储 首先要看LAZY_PERSIST的相关结构 因为LAZY_PERSIST策略当数据存储进内存的同时,有另一批数据需要做异步持久化到磁盘的操作,所以一定会涉及到多个服务对象的合作,这些服务的指挥者就是FsDatasetImpl。它是管理一个DataNode所有磁盘读写的管家 在FsDatasetImpl中与内存存储相关的对象有如上图三个 RamDiskAsyncLazy

weixin_44976835的博客 560

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Camera2Demo

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

[hadoop3.x]HDFS中的内存存储支持(七)概述

目前博客Hadoop文章大都停留在Hadoop2.x阶段,本系列将依据黑马程序员大数据Hadoop3.x全套教程,对2.x没有的新特性进行补充更新,一键三连加关注,下次不迷路!

Maynor的博客 1971

HDFS 内存存储支持——LAZY_PERSIST存储策略

参考: https://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-hdfs/MemoryStorage.html https://blog.youkuaiyun.com/androidlushangderen/article/details/51514216 目录 介绍 配置 存储副本的内存限制 在DataNode上配置使用RAM d...

MAYIBO—BG的专栏 1618

Apache IoTDB 分层存储架构:热数据内存、温数据 SSD、冷数据 HDFS 实战

内存层采用时间序列数据结构组织热数据,支持毫秒级响应。Apache IoTDB 的分层存储架构设计基于数据访问频率和存储成本优化原则,将数据划分为热、温、冷三个层级。热数据存储在内存中,温数据使用 SSD 固态硬盘,冷数据归档至 HDFS 分布式文件系统。内存存储引擎采用时间分区索引结构,每个分区包含固定时间跨度的数据点。SSD 存储层采用 TsFile 列式存储格式,每个文件包含特定时间范围的序列数据。内存淘汰策略采用 LRU 算法,当内存使用率超过 80% 时,自动将最旧的时间分区降级到 SSD 层。

gfdasdax的博客 1017
上一篇: Hbase客户端操作
下一篇: 《深入HDFS》HDFS异构存储
SW_LCC
博客等级 码龄11年 4粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值