HDFS写入数据的流程图

news2024/9/24 8:29:20

1.客户端向namenode发送请求,请示写入数据

2.namenode接受请求后,判断这个用户是否有写入权限,如果不具备直接报错;如果有写入权限,接着判断在要写入的目录下是否已经存在这个文件,如果存在,直接报错,如果不存在,通知客户端可以上传

3.客户端对文件进行切分,形成block块

4.客户端请求第一个block块,存储在哪些地方

5.namenode根据机架感知原理,网络拓扑关系,副本机制找到相应的可以上传的datanode的连接列表,返回给客户端

6.在连接列表中选择第一台datanode进行连接并建立管道,让第一台与第二台连接,第二台与第三台连接形成一个管道

7.客户端通过数据包(64kb)的形式发送数据,当第一台接受数据后,然后将数据转发给第二台,第二台接受完,第二台数据再把数据发送给第三台

8.当最后一个接受请求后,建立一个反向的应答队列,当每个节点都将数据包接收以后,反向给予应答响应(ack确认机制)

9.数据开始源源不断的发送数据,当第一个block块发送完成之后,客户端重新请求namenode,获取第二个block块应该存放在哪些datanode中,接着从第五步开始执行,直到所有的block块全部写入完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1989570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过python搭建文件传输服务器;支持多台电脑之间互相传输文件(支持局域网或广域网)(应该也能用于虚拟机和宿主机之间)

因为公司网络防火墙限制,所以在公司的电脑之间传输文件还是非常不方便的;所以自己搭建了一个文件传输服务器,用于多台电脑间的文件传输; 先放上最终效果: 文章目录 一、运行环境要求二、环境搭建2.1 安装python2.2 搭建虚拟环境方法1:创建Anaconda虚拟环境方法2:创建pyt…

Java线程池的这几个大坑,你踩过几个?

首先看一个简单的例子:代码可能会抛出空指针异常,但这个异常就会被吞掉。 要优雅解决问题,可以为线程池设置一个全局的异常处理器,使用自定义的线程工厂来设置! java public class CustomThreadFactory implements ThreadFactory { private final Threa…

CTFHUB-web-RCE-综合过滤练习

开启题目 查看网页源代码发现这次网页对 | 、 && 、 || 、 \ 、 / 、; ,都进行了过滤处理 发现换行符 %0a 和回车符 %0d 可以进行测试,在 URL 后面拼接访问 127.0.0.1%0als 用 ls flag_is_here 查看 flag 文件中的内容,发现回显为空…

11-电阻 电容元件的创建

1. 2.格点设置 3.当设置完线条的时候,格点重新设置回100mil 4.更改管脚长度,宽度

vscode安装与配置本地c/c++编译调试环境

目录 (1)安装vscode和常用插件 1.下载安装vscode 2.安装常用插件 (2)本地安装和配置编译器 1.安装编译器 2.vscode配置编译器 第1种:全局配置 第2种:为当前项目个性化配置 (3&#xff…

海量数据处理商用短链接生成器平台 - 9

第二十六章 短链服务-冗余双写架构删除和更新消费者开发实战 第1集 冗余双写架构-更新短链消费者开发实战 简介: 短链服务-更新短链-消费者开发实战 具体步骤见代码 第2集 冗余双写架构-更新短链消费者链路测试 简介: 冗余双写架构-更新短链消费者链…

从TiDB迁移到OceanBase的实践分享

本文来自OceanBase热心用户的分享 近期,我们计划将业务数据库从TiDB迁移到OceanBase,但面临的一个主要挑战是如何更平滑的完成这一迁移过程。经过研究,了解到OceanBase提供的OMS数据迁移工具能够支持从TiDB到OceanBase的迁移,并且…

使用snap安装docker配置阿里云镜像加速

使用snap安装docker非常的简单,一条命令即可 snap install docker 但是通过这个命令安装的docker, 配置阿里云镜像跟常规安装的配置起来不太一样, 下面讲一下配置流程 修改docker配置文件/var/snap/docker/current/config/daemon.json 这个文件应该是已经创建好…

13-按键的元件模型创建

1.画线的时候,栅格切为10mil 2.放置管脚的时候,栅格切为100mil

贝叶斯网络介绍与求解方法

贝叶斯网络综述 1. 引言2. 贝叶斯网络原理介绍3. 求解贝叶斯网络的各种方法3.1 精确推理算法3.2 近似推理算法3.3 学习贝叶斯网络的结构和参数3.3.1 MMPC(Max-Min Parents and Children)3.3.2 MMHC(Max-Min Hill-Climbing)3.3.3 I…

论文阅读报告: 在时间双向图上查询基于时间的的密集子图 | ICDE 2024

摘要 本文提出了一个新的模型(α, β, T)-core,用于在时间双向图上寻找凝聚子图。时间双向图中,不同实体之间的关系随着时间的推移而变化。为了提高查询效率,本文提出了顶点分区和时间分区的历史索引(VH-I…

windows docker容器部署前端项目

一、介绍 Docker 是一个开源的平台,旨在简化应用程序的开发、部署和运行。它通过使用容器(containers)来实现这一点。容器是一种轻量级、可移植的虚拟化方式,可以在不同的环境中一致地运行软件。 Docker 的主要作用和优点包括&a…

C语言 ——— 学习、使用memcpy函数 并模拟实现

目录 memcpy函数的功能 学习memcpy函数​编辑 使用memcpy函数 模拟实现memcpy函数 memcpy函数的功能 memcpy函数是内存拷贝函数,用于把任意类型的数据的内存拷贝到另一个同类型的数据上 学习memcpy函数 函数的参数: void* destination&#xff1…

C++基础编程的学习2

has-a(组合关系) 在C中,has-a关系是一种对象之间的组合关系,表示一个类的对象包含另一个类的对象作为其成员。 前向引用说明 在全局命名作用域中声明函数,可以避免递归调用时的函数重名问题。前向声明允许我们声明一…

使用Pinata在IPFS上存储NFT图片的实践

文章目录 前言一、什么是IPFS?二、为什么NFT需要IPFS?三、 Pinata:IPFS上的存储解决方案四、 实践:使用Pinata存储NFT图片1. 注册2. 获取API密钥与网关3. 上传图片到IPFS 总结 前言 随着区块链技术的快速发展,NFT&…

【iOS】OC关键字总结及底层原理(下)

目录 weak实现原理objc_initWeak()objc_storeWeak()weak_register_no_lock()weak_entry_for_referent()dealloc关于弱引用的处理weak相关问题 __autoreleasing关键字自动释放池__autoreleasing修饰变量 weak实现原理 weak弱引用指针会存储在SideTable里的weak弱引用表里面&…

实验室冷冻干燥机的安装与调试步骤

实验室冷冻干燥机是一种重要的科研设备,广泛应用于生物、化学、食品科学等领域。正确安装与调试冷冻干燥机,不仅能确保设备的正常运行,还能延长其使用寿命。本文将详细介绍实验室冷冻干燥机的安装与调试步骤,帮助用户顺利完成设备…

Java中等题-最大子数组和(力扣)

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,-5,4] 输出:…

SSM城市垃圾分类管理系统-计算机毕业设计源码44582

摘 要 在当前全球环境问题日益突出的背景下,城市垃圾分类成为推动可持续发展和环境保护的重要举措之一。然而,传统的垃圾处理方式存在效率低下、资源浪费和环境污染等问题。因此,开发一个基于Java编程语言、MySQL数据库和HTML前端技术的高效…

vue()

目录 首先我们回顾一下之前学的东西 入门: v-bind 绑定属性用法 ​编辑 v-if 用法 v-for v-on v-model:双向绑定 组件: 全局组件: 局部组件: vue生命周期:(这里让我研究研究&…