- 博客(13)
- 收藏
- 关注
原创 HDFS读写流程解析
HDFS读流程包括客户端向NameNode请求文件信息,选择最近的DataNode建立连接读取数据块,最后拼接成完整文件。写流程涉及客户端请求创建文件,NameNode分配DataNode并建立传输管道,数据分块写入多个节点后确认完成。两个流程均通过NameNode协调元数据,DataNode负责实际数据传输,确保高效可靠的文件操作。流程图清晰展示了数据流向和节点交互过程。
2025-10-13 16:08:33
294
原创 HDFS高可用机制
HDFS高可用架构核心组件包括Active/Standby NameNode、QJM群体日志管理器和ZooKeeper。Active NameNode处理请求,Standby实时同步元数据;QJM由奇数个JournalNode组成,存储edits日志确保数据一致性;ZooKeeper负责故障检测和自动切换。ZKFC监控NameNode状态,当Active故障时,通过会话管理和选举机制完成自动切换:原Active会话过期释放锁,Standby的ZKFC获取锁并切换为Active,从QJM同步最新数据后接管服务
2025-10-11 16:36:41
763
原创 HDFS存储核心机制
● 关键流程:NN 内存中的元数据 = fsimage + edits 日志的增量操作;- 磁盘的IO包含数据“寻址时间”(找数据的位置),数据“传输时间”(读数据),块设置大从而传输时间远大于寻址时间,因而传输一个块的时间取决于磁盘的传输速率。2.简化了存储子系统的设计(“块”是固定的可以计算单个磁盘的能存多少个“块”,且“块”不存文件元数据)定义: HDFS将文件分割为固定大小的“块”存储,默认是128M。-假如一个文件是1G,那么会分成 1024/128 = 8 块。为什么HDFS块设置这么大?
2025-10-11 11:44:57
425
原创 HDFS设计理念
HDFS是Hadoop分布式文件系统,运行在普通硬件上,具有高度容错性。它适合处理TB/PB级大文件,采用一次写入多次读取的模式,支持流式数据访问而非随机读取。HDFS设计强调高吞吐量而非低延迟,通过数据多副本机制保障可靠性,并采用"移动计算而非数据"的理念,将计算程序部署到数据节点附近以减少网络传输。
2025-10-11 09:45:57
125
原创 HDFS架构
HDFS采用主从架构,由NameNode和多个DataNode组成。NameNode负责管理文件系统命名空间,存储元数据信息(FsImage和EditLog);DataNode负责存储文件数据块,执行数据操作;SecondaryNameNode定期合并FsImage和EditLog。整个系统通过分工协作实现高效的文件存储与管理。
2025-10-10 17:58:50
188
原创 npm-常用命令
npmnpm 全称 Node package manager,是 Node 默认的包管理器,我们可以通过 npm 发布、安装和卸载依赖包;npm常用命令npm install ## 安装模块npm uninstall ## 卸载模块npm uninstall -g [模块名] ## 卸载全局模块npm update ## 更新模块npm ls ## 查看安装的模块npm init ## 在项目中引导创建一个 package.j
2021-06-21 18:03:57
220
原创 Highlight.js-高亮代码
Highlight.jsHighlight.js是用JavaScript编写的 语法突出显示工具。 github,它在浏览器和服务器上均可使用。它几乎可以与任何标记一起使用,不依赖任何框架,并且具有自动语言检测功能。Vue中使用highlight.js格式化高亮代码1.安装 npm install highlight.js --save //默认导入将导入所有语言2.引入import hljs from 'highlight.js'; // 样式文件import('highl
2021-06-21 18:01:23
1116
原创 git-基础使用
配置用户信息git config --global user.name "John Doe"git config --global user.email johndoe@example.com注意如果使用了 --global 选项,那么该命令只需要运行一次当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置检查配置信息git config --list基础1.克隆现有的仓库 — git clone [url]1
2021-06-21 17:58:53
204
原创 js-搞懂this指向
绑定规则1.默认绑定–> this 指向全局对象(非严格模式)//最常用的函数调用类型:独立函数调用function fn () { console.log(this) //Window}fn()2.隐式绑定–> 当函数引用上下文对象时,隐式绑定规则会把函数调用种的 this 绑定到这个上下文对象function foo() { console.log(this.a);} var obj2 = { a: 42, foo: foo} var obj1
2021-06-21 17:44:03
167
原创 js为什么是单线程?
js为什么是单线程?假设javascript有两个线程,一个在某个DOM节点添加内容,另一个线程在这个节点上删除内容,这是浏览器应该以哪个线程为准?这就意味着单线程作为javascript的核心标准,将一直沿用下去。JS为什么需要异步?既然js是单线程,那么意味着,当先我们执行一个任务,什么事都干不了,只能等待他执行完。如果执行的任务需要等待很长的时间,对于用户而言阻塞就意味着"卡死",这样就导致了很差的用户体验JS单线程又是如何实现异步的呢?是通过的js事件循环(event loop)JS中
2021-06-21 17:41:03
1720
原创 js-5种继承方式
1.原型链继承–>通过原型链,继承属性和方法function SuperType () { this.colors = ['pink', 'blue'] this.name = 'qrq'} SuperType.prototype.getName = function () { return this.name}function SubType() { this.age = '20'}SubType.prototype = new SuperType()SubType
2021-06-21 17:38:27
285
原创 HTTP 请求参数之三种格式
Query String Parameters 、Form Data 、 Request Payload 三种格式的区别。主要是因为 Content-Type(用于表明发送数据流的类型) 与请求方式 method 不同,导致传递的数据格式不同。1. Query String Parameters 格式: ?key=value&key=value参数会以 url string 的形式进行传递,即?后的字符串则为其请求参数常用在 GET 请求方式时使用2. Form Data 格式
2021-06-21 17:32:30
4149
原创 element-ui Upload 上传组件
element-ui Upload 上传组件自定义一次上传多文件且可以预览图片弊端:可能上传的文件比较多或单个文件大造成上传失败,需要限制上传文件大小及上传文件个数优点:可以一次上传多个文件,且不会上传到服务器垃圾文件<template> <div> <el-upload ref="upload" action="" multiple :http-request="httpRequest" > <
2021-06-10 11:56:42
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅