HDFS 之 Topology(Rack) Awareness - 机架感知

1、 简介

机架感知在大型分布式存储系统中非常实用,可以有效保证数据的高可用,同时提升集群稳定性。在HDFS中,也实现了类似Topology Awareness的机制,只不过是采用软件的方式模拟。

2、机架感知存在的意义

在这里插入图片描述
分布式存储系统的一个特殊之处在于其通常包含非常多的机器。Client在借助网络通道访问集群时,仍然会受到比如交换机网口的限制,通常大型的分布式集群都会跨好几个机架,甚至多数据中心,由这些机器共同组织一个分布式的集群。一个典型的集群物理节点部署结构如上图。

搭建大型集群时,需要考虑是否跨IDC(数据中心),单IDC可能由多机房组成,为便于管理机器和网络,机房中的机器之间会经过交换机,这里的每一级之间都是通过网络互通。从上到下,每层的网络带宽总和依次变小;同时网络包经过的层级越多,端到端的时延就越长。

对于分布式存储系统而言,有两个不容忽视的问题:

  • 读写访问需要尽可能稳定且高效,也就是两个节点间交互链路不建议过长。
  • 数据副本所在节点区域不建议过近,有利于提高容错能力。上面的两点有着先天的矛盾,为了平衡系统运行,一个有效的方法就是结合Topology Awareness(机架感知)。

将上面的图片抽象为下图。

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

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

相关文章

【目标航迹管理(1)】基于d-s证据理论信息融合的多核目标跟踪方法

1 引言:从航机起始方法开始 我们为什么会有这个议题?因为航机起始方法。 处理目标航迹起始的方法主要分为两大类:批处理和序贯。 在杂波密度比较高的环境下,比如有红外卫星或地面雷达监视区域,则选用批处理方法&…

【Spring】SpringBoot 单元测试

目 录 一.什么是单元测试?二.单元测试有哪些好处?三.Spring Boot 单元测试使用单元测试的实现步骤 一.什么是单元测试? 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证的过程就叫单元…

Java基本面试问题(一)

上篇文章Java面试10个问题的一些标准回答: Java中的基本数据类型有哪些? 标准回答:Java中的基本数据类型包括整型(int, long, short, byte)、浮点型(float, double)、字符型(char&am…

chat GPT第一讲

计算机的语言奇迹:探秘ChatGPT的智能回答和写作能力 目前我们这个行业,最火的话题无疑是AI人工智能,类似ChatGPT这样的智能Ai,今天剩下的时间不多,每天一个主题,我给大家讲一下计算机回答问题和写作的能力,…

模型量化--int8量化

文章目录 一、什么是模型量化?二、常见的模型量化方法1.权重量化(Weight Quantization)2.激活量化(Activation Quantization)3.混合精度量化(Mixed Precision Quantization)4. 剪枝和量化&#…

Vue监听器(上)之组合式watch

1. 定义监听器 //要监视的属性被改变时触发 watch(要监视的属性, (更改后的心值, 更改前的旧值) > {具体操作}, );//监视对象为getter的时候 //表达式内任意响应式属性被改变时触发 watch(() > return表达式, (表达式的新值, 表达式的旧值) > {具体操作} );//数组中任…

【MySQL】多表操作、事务、索引

MySQL MYSQL 多表设计 一对多插入测试数据外键约束(物理外键)使用逻辑外键 MYSQL 多表设计 一对一表结构 MYSQL 多表设计 多对多 MYSQL 多表设计 一对多 建表语句 员工表 CREATE TABLE tb_emp (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT ID,username VARCHAR(20) N…

图片大了怎么缩小上传?30秒解决图片大小问题

在上传图片到网站、社交媒体、电子邮件或其他在线平台时,压缩图片可以减小文件大小,加快上传速度,并节省带宽和存储空间,许多网站和应用程序都有对上传图片大小的限制,因此利用在线图片压缩工具(https://ww…

WordPres Bricks Builder 前台RCE漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

Jetpack Compose 架构层

点击查看:Jetpack Compose 架构层 官网 本页面简要介绍了组成 Jetpack Compose 的架构层,以及这种设计所依据的核心原则。 Jetpack Compose 不是一个单体式项目;它由一些模块构建而成,这些模块组合在一起,构成了一个完…

VSCODE include错误 找不到 stdio.h

解决办法: Ctrl Shift P 打开命令面板, 键入 “Select Intellisense Configuration”(下图是因为我在写文章之前已经用过这个命令,所以这个历史记录出现在了第一行) 再选择“Use gcc.exe ”(后面的Foun…

【OpenAI官方课程】第六课:ChatGPT文本扩展Expending

欢迎来到ChatGPT 开发人员提示工程课程(ChatGPT Prompt Engineering for Developers)!本课程将教您如何通过OpenAI API有效地利用大型语言模型(LLM)来创建强大的应用程序。 本课程由OpenAI 的Isa Fulford和 DeepLearn…

C语言-数组指针与指针数组

一、简介 对于使用C语言开发的人来说,指针,大家都是非常熟悉的。数组,大家也同样熟悉。但是这两个组合到一起的话,很多人就开始蒙圈了。这篇文章,就详细的介绍一下这两个概念。 指针数组和数组指针,听起来非…

PyTorch概述(二)---MNIST

NIST Special Database3 具体指的是一个更大的特殊数据库3;该数据库的内容为手写数字黑白图片;该数据库由美国人口普查局的雇员手写 NIST Special Database1 特殊数据库1;该数据库的内容为手写数字黑白图片;该数据库的图片由高…

互联网广告投放与IP地理位置定位

随着互联网的发展和普及,互联网广告投放成为各行业推广营销的重要方式之一。而结合IP地理位置定位技术,可以实现精准定向,提高广告投放的效果和精准度。IP数据云将探讨互联网广告投放与IP地理位置定位的关系,分析其优势和应用场景…

logback日志回滚原理

日志输出主要依赖RollingFileAppender、TimeBasedRollingPolicy、SizeAndTimeBasedFNATP。 RollingFileAppender 主要用于生成日志文件,格式化内容再输出到日志文件TimeBasedRollingPolicy 设置回滚策略,如果发现日志输出的时间超过单位时间&#xff0c…

c入门第二十二篇: 学生成绩管理系统查询优化(二分查找)

前言 师弟: “经过几轮优化之后,我的学生成绩管理系统,感觉已经非常不错了,是我学习以来做的最好的系统了。没想到,还是被嘲笑了。” 我:“怎么被嘲笑了?” 师弟:“程夏她说: 你在录入学生的时…

跟我学C++中级篇——C++17标准后的std::invoke系列

一、函数调用方式 在学习编程的开始,就接触到了函数和函数的调用。可以这样讲,不会调用函数,那么最基础的语言功能便无法使用了。无论是低级到汇编或者高级到哪个语言,函数仍然是其重要的基础一环。可能随便一个学习过编程的都可…

动态规划算法学习(基础)

做题步骤: 确定dp数组的含义(一维或者二维) 获取递推公式 dp数组如何初始化 确定遍历顺序 打印dp数组(检查) 题目: 1. 斐波那契数 509 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 …

留子厨房开发日志

以下记录了使用go语言框架Beego,Mysql数据库,Redis数据库实现一个点菜/菜谱应用API的全过程。 技术方案 github地址 数据库设计 新建数据库: CREATE DATABASE menu;新建数据表: CREATE TABLE menu ( id int(10) unsigned NOT …