简单搞定hdfs读写流程

Hadoop_基本概念、数据读写操作流程 大数据是一个概念也是一门技术,是在以Hadoop为代表的大数据平台框架上进行各种数据分析的技术。 大数据包括了以Hadoop和spark为代表的基础大数据框架;还包括实时数据处理,离线数据处理,数据分析,数据挖掘和用及其算法进行预测分析等技术。 目标: 掌握Hadoop框架的基础原理及使用方式;掌握基于Hadoop框架进行数据处理与分析的应用程序的开发。 从应用入手,在使用过程中深入了解其原理及运... 阅读详情
1.HDFS写数据流程
        1)客户端向namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在。

2)namenode返回是否可以上传。

3)客户端请求第一个 block上传到哪几个datanode服务器上。

4)namenode返回3个datanode节点,分别为dn1、dn2、dn3。

5)客户端请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成

6)dn1、dn2、dn3逐级应答客户端

7)客户端开始往dn1上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,dn1收到一个packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答

8)当一个block传输完成之后,客户端再次请求namenode上传第二个block的服务器。(重复执行3-7步)

4.1.2 网络拓扑概念
                在本地网络中,两个节点被称为“彼此近邻”是什么意思?在海量数据处理中,其主要限制因素是节点之间数据的传输速率——带宽很稀缺。这里的想法是将两个节点间的带宽作为距离的衡量标准。

        节点距离:两个节点到达最近的共同祖先的距离总和。

        例如,假设有数据中心d1机架r1中的节点n1。该节点可以表示为/d1/r1/n1。利用这种标记,这里给出四种距离描述。
        Distance(/d1/r1/n1, /d1/r1/n1)=0(同一节点上的进程)
        Distance(/d1/r1/n1, /d1/r1/n2)=2(同一机架上的不同节点)
        Distance(/d1/r1/n1, /d1/r3/n2)=4(同一数据中心不同机架上的节点)
        Distance(/d1/r1/n1, /d2/r4/n2)=6(不同数据中心的节点)



2.机架感知(副本节点选择)

   第一个副本在client所处的节点上。如果客户端在集群外,随机选一个。

        第二个副本和第一个副本位于相同机架,随机节点。

        第三个副本位于不同机架,随机节点。



3.HDFS读数据流程



4.写入数据时,如果希望数据被其他client立即可见,调用如下方法

FsDataOutputStream.hflus();        //清理客户端缓冲区数据,被其他client立即可见

FsDataOutputStream.hsync();              //清理客户端缓冲区数据,被其他client不能立即可见





HDFS 是如何实现大数据高容量、高速、可靠的存储和访问的。 对于一个企业大数据应用来说,搞定了大数据存储基本上就解决了大数据应用最重要的问题。Google 三驾马车的第一驾是GFS,Hadoop最先开始设计的就是HDFS,可见分布式存储的重要性,整个大数据生态计算框架多种多样,但是大数据的存储却没有太大的变化,HDFS依旧是众多分布式计算的基础。当然HDFS也有许多缺点,一些对象存储等技术的出现给HDFS的地位带来了挑战,但是HDFS目前还是最重要的大数据存储技术,新的计算框架想要获得广泛应用依旧需要支持HDFS。大数据数据量大、类型多种多样、快速的增长等特性... 阅读详情

相关推荐

Hadoop学习笔记(三)漫画解读HDFS读写原理

首先看看出场的角色,第一个是client客户端,用来发起读写请求,读取HDFS上的文件或往HDFS中写文件;第二个是Namenode,唯一的一个,会协调所有客户端发起的请求;第三个是DataNode,负责数据存储,跟Namenode不一样,DataNode有很多个,有时候能达到数以千计。 写数据流程 往HDFS中写数据的流程如下: 第1幅图:我们跟客户端说,你帮我写一个200M的数据吧,客户端说...

微信搜:import_bigdata,大数据领域硬核原创作者 569

每天一点hadoop 第三篇HDFS(二)

每天一点hadoop 第三篇HDFS二) 今天我们继续总结HDFS的知识 1. HDFS基本原理 将文件切分成等大的数据块,存储到多台机器上 将数据切分、容错、负载均衡等功能透明化 2.HDFS的容错机制 hadoop为实现namenode的容错提供了两种机制 备份那些组成文件系统元数据持久状态的文件。通过配置使namenode在多个文件系统上保存元数据的持久状态。 运

栎梓天冲的专栏 614

Java操作Hadoop HDFS文件系统实战详解

简介:Hadoop分布式文件系统(HDFS)是大数据存储的核心组件,Java通过丰富的API支持对HDFS的高效操作。本文详细讲解如何使用Java实现HDFS中的文件读写、复制、移动和删除等关键操作,涵盖Configuration配置、FileSystem实例获取及数据流处理,并结合“jar包版”与“Maven版”两个项目示例,帮助开发者掌握真实场景下的HDFS文件管理技术。适合大数据开发人员学习参考,提升在分布式环境下的编程能力。

weixin_42097508的博客 475

hdfs网络拓扑与机架感知

在了解hdfs创建文件之前,需要对hdfs网络拓扑有一个浅显的认知,继而对机架感知做一个简单的介绍。 在海量数据处理中,其主要限制因素是节点之间数据的传输速率-带宽稀缺。这里的想法是将两个节点间的距离作为带宽的衡量标准。Hadoop采用一个简单的方法:把网络看作一棵树,两个节点间的距离是它们到最近共同祖先的距离总和。该树中的层次是没有预先设定的,但是相对于数据中心、机架、正在运行的节点,通常

小冷在努力~ 1596

[UE5蓝图基础二]1.[1d混合空间] 走和跑的动画切换(shift切换)

再双击”run”进去 我们需要给他指定一个动画姿势,这里就需要给他我们前面做的”1d”混合空间,然后可以看到”1d” 上有个speed参数,代表的速度 从前面的逻辑来看需要通过控制速度来切换动画,那么必然不能写死速度,把速度提升为变量传递进来即可,所以就得到以下蓝图节点。混合空间的概念:混合空间就是可以将角色多个动画混合在一起 ,我们创建动画类就是创建个”Animation”文件夹 在文件夹内创建混合空间。我们目前要实现的是一个走和跑的功能 那么创建1d即可。到这一步混合空间已经做完 下一步做”动画蓝图”

qq_30584617的博客 3299

FPGA+滨淞CCD实战:手把手教你搭建S7031/S10142成像电路(附避坑指南)

本文详细介绍了使用FPGA驱动滨淞CCD传感器(S7031/S10142)构建高精度成像系统的完整实战流程。内容涵盖核心器件选型、系统架构规划、电路板(焦面板与接口板)设计要点、FPGA Verilog逻辑实现,并提供了从电源管理、信号调理到数据采集的详细避坑指南,帮助读者从零搭建稳定可靠的成像电路。

weixin_29271263的博客 227

HDFS主要知识汇总

HDFS HDFS是一个分布式文件系统,适合一次写入多次读出的场景。 HDFS的优缺点 优点 高容错性:数据自动保存多个副本,默认是3,且在某个副本丢失后可以自动恢复 适合处理大数据:数据规模大,文件规模多 可以构建在廉价机器上,通过多副本机制,提高可靠性。 缺点 不适合低延时数据访问,比如毫秒级别的存储数据,是做不到的。 无法高效的对对大量小文件进行处理,所以可以采用特定的文件格式处理小文...

Novice_guy的博客 725

别再硬啃C代码了!用Simulink的Matlab Function模块手把手教你搭建CRC8校验模型(附完整M脚本)

本文详细介绍了如何利用Simulink的Matlab Function模块轻松实现CRC8校验模型,替代传统的C代码编写。通过可视化建模和即时验证,开发者可以高效完成算法设计,并自动生成嵌入式代码。文章包含完整的M脚本示例和工程实践技巧,特别适合嵌入式系统开发人员提升工作效率。

weixin_42520661的博客 183

HDFS-网络拓扑

1、节点距离 1)往上找共同的节点,求和。 2、文件上传副本选择

铭绵羊 966

信息抽取实战:三元组抽取(限定领域 vs 开放领域)(附代码)

信息抽取实战:三元组抽取 目录信息抽取实战:三元组抽取一、限定领域的三元组抽取比赛介绍数据分析序列标注模型关系分类模型三元组提取总结开放领域的三元组抽取标注平台文本分类新数据进行三元组抽取总结参考文献 一、限定领域的三元组抽取   本项目将会介绍在2019语言与智能技术竞赛的三元组抽取比赛方面的一次尝试。由于该比赛早已结束,当时也没有参加这个比赛,因此没有测评成绩,我们也只能拿到训练集和验证集。但是,这并不耽误我们在这方面做实验。 比赛介绍   该比赛的网址为:http://lic2019.ccf.org.

南有芙蕖 2万+

同花顺Supermind量化交易 风险控制建模--海龟交易法则

A.市场与标的海龟交易法则应用于流动性高的市场中,选择交易量较大的标的进行交易。本文以沪深300指数ETF为标的,构建海龟交易法则。B、仓位:仓位是海龟交易系统最核心的部分,通过ATR真实波幅指标来管理仓位。第一步:计算True Range,简称TR。TR = Max ( H−L , H−P , P−L ) ,其中H为当日日内最高价,L为当日日内最低价,P为前一日收盘价。第二步:计算ATRATR = mean ( TR , 20 ) , 即计算过去20天的TR的平均值,ATR是TR的移动平均值。

qq_22808537的博客 1497

HDFS 网络拓扑的概念和副本放哪里

网络拓扑节点间的距离衡量标准是带宽,而带宽则意味着传输速率Hadoop可以根据运行节点分级:不同数据中心节点 < 相同数据中心不同机架的节点 < 相同机架的不同节点 < 相同节点不同进程 (带宽递增)副本放哪里?考量因素:可靠性,写入带宽,读取带宽权衡冗余性和带宽损耗多个副本:第一个副本放在运行客户端的节点上,第二个副本放在不同的机架的节点上,第三个副本与第二个副本放在相同机架上...

ThisIsNobody的博客 601

Datawhale~数据挖掘实践之序列问题处理~天池·资金流入流出预测-挑战Baseline~Day01~数据探索与分析

写在前面✍ 本系列笔记基于天池平台上“资金流入流出预测-挑战Baseline”学习赛,记录如何完整的打一次数据挖掘类比赛。同时,该比赛属于序列建模问题,希望学习完成这个任务,可以对序列问题的处理有一定的独立思考能力和实践操作能力,可以将所学理论,用编码的形式和实际的问题得到深入。 第一篇,EDA Content: 初步了解赛题及数据 1.1 任务 1.2 用户基本信息数据 1.3 用户申购赎回数据 1.4 收益率表 1.5 银行间拆借利率表 1.6 提交格式 1.7 评分指标 EDA 1 初.

小卜妞的博客 2358

全网最详细完备的HDFS读写流程

写在前面 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系 解答 读 客户端通过调用 FileSystem 对象的 open() 方法来打开希望读取的文件,对于HDFS来说,这个对象是 DistributedFileSystem 的一个实例。 DistributedFileSystem 通过使用远程过程调用(RPC)来调用 NameNode,以确定文件起始

Shockang的博客 3万+

pytest-bdd封装

简介 pytestbdd主要是用于代码封装 代码封装的好处: 1、提升代码复用率 2、提示测试效率 手工测试–使用框架0代码 流程+数据驱动 产品经理这样的不懂测试的人员–流程驱动 自动化测试–数据驱动 pytest-bdd:流程驱动封装 行为驱动–敏捷开发模式,消除开发/测试对需要了解的歧义 使用方式: 描述需求/用户场景 Feature(需求) Scenario(场景) Given(假设) When(操作步骤) Then(验证,清除) #新建feature 文件之前 需要提取安装支持featrue文.

liao_11的博客 2733

【unity实战】随机地下城生成3——设置人物移动脚本、动画的切换和摄像机的跟随(含源码)

给房间添加触发器碰撞体,用来判断角色是否进入房间切割人物图片,注意人物每个图片高度可能不同,所有我们需要把轴心调整到人物的底部把人物跑步图片的高度,统一调成20,下面镂空,达到跳跃的效果快速创造人物动画,以人物idle为例,我们选中所有的idle人物图片,拖拽至窗口,unity就会自动生成,并提示保存动画位置别忘记设置人物排序图层,运行人物就动起来了新增run动画设置人物碰撞体设置刚体将重力设置为0,持续人物移动和动画切换的代码设置摄像机跟随单例代码在room中调用。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1051

【大数据】分布式文件系统HDFS

一文快速聊明白HDFS的核心概念

BugMan的博客 3964

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

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

图文详解 HDFS 的工作机制及其原理

看不懂,来打我~

weixin_43958974的博客 6868

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

(转)Hadoop学习笔记(三)漫画解读HDFS读写原理

【转载原因:写入原理,很清晰,很详细!】 【转载原文:https://blog.youkuaiyun.com/u013411339/article/details/89036191】 首先看看出场的角色,第一个是client客户端,用来发起读写请求,读取HDFS上的文件或往HDFS中写文件;第二个是Namenode,唯一的一个,会协调所有客户端发起的请求;第三个是DataNode,负责数据存储...

小蚯蚓的博客 346

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

图文详解HDFS体系架构

写在前面 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系 解答 HDFS采用了主从结构构建, NameNode为 Master(主),其他 DataNode为 Slave(从)。 文件以数据块的形式存储在 DataNode中。 一个HDFS分布式文件系统的架构如图所示: 连线① NameNode是HDFS系统中的管理者,对 Metadata元数据进行管理。

Shockang的博客 2万+

HDFS存储大量小文件居然有这样的问题!看我怎么搞定它!

写在前面 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系 解答 HDFS 存储大量小文件有什么问题? 小文件是指文件大小小于 HDFS 上 Block 大小的文件。 这样的文件会给 Hadoop 的扩展性和性能带来严重问题。 首先,在HDFS中,任何 Block、文件或者目录在内存中均以对象的形式存储,每个对象约占 150Byte。 如果有100000个小文件,每

Shockang的博客 4万+

Hadoop 3.3.1实战:用Java API搞定HDFS文件读写,附Eclipse完整项目配置与常见报错解决

本文详细介绍了如何使用Hadoop 3.3.1的Java API进行HDFS文件读写操作,包括Eclipse项目配置、核心API实战以及12类常见报错的解决方案。内容涵盖环境准备、文件系统连接配置、文件读写实现及生产环境优化实践,帮助开发者高效处理大数据存储任务。

weixin_30765505的博客 501

HDFS的诞生

1牛刀小试张大胖找了个实习的工作, 第一天上班Bill师傅给他分了个活儿:日志分析。张大胖拿到了师傅给的日志文件,大概有几十兆,打开一看, 每一行都长得差不多,类似这样:...

码农翻身 589

hdfs复制文件夹_HDFS 和 YARN 的架构

前言在企业里面,我们搭建一个服务一般都会考虑几个问题。首先是用途,比方说一般都有开发环境,测试环境以及生产环境(比较重要的服务一般还会有灰度环境)。这个用途一旦决定了,我们就可以考虑接下来的问题了。第二是架构,第三就是成本了。架构会直接决定所需要花费的机器成本和维护成本。好吧,好像有点扯远了。回到正题。这里我想要说明的事情是我当上大数据运维之后,遇到的坑其实都可以归根溯源到架构或者原理的理解上面。...

weixin_39563827的博客 127

一文搞定Journal Node原理

【概述】hdfs的HA机制,具体来说可以分为两部分,一部分是基于zkfc、zookeeper完成nn之间的选主;而另一部分则是nn之间的元数据共享与同步。从hdfs2.0版本开始,引入了H...

hncscwc的博客 3948
上一篇: 简单搞定FileInputFormat切片机制
下一篇: 一图深入理解spark内核
白枭
博客等级 码龄10年 53粉丝 46原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值