首页 > 其他分享 >6.824笔记3

6.824笔记3

时间:2022-10-23 23:34:53浏览次数:54  
标签:6.824 版本号 chunk 笔记 server 副本 master primer

大规模存储

分布式的底层运行着一个大型分布式存储系统,并有一套接口,评估指标包括并行性能,容错,复制,一致性

数据分割并放到多个服务器上,并且需要一个自动化的容错系统,一种容错方式是复制,保存多个数据副本,但是副本过多也会导致消耗较多,需要有良好的一致性。

GFS文件系统,只用来处理大文件的顺序访问,重点在吞吐量上,可以使用弱一致性,因为搜索之类的服务对于数据的可靠性要求并不那么高

master中有两个表,filename - array of chunk hands,hands - list of chunks,version等信息,使用日志的方式写入磁盘。

每隔一段时间进行一次checkpoint

读写过程,read是程序直到有一个文件,和偏移量,将这两个值发给master,master从文件表中查找文件名,用便宜/64mb得到chunk,再从chunk表中得到chunk server列表,再将这个列表传回客户端

read第一步,把文件名和偏移量发给master,然后master发送chunk handle和server列表,然后客户端和chunk server之一进行通信,发送一个chunk handle和偏移,chunk server中保存了chunk的命名,找到chunk后,读取客户端想要的数据。如果数据超过了64mb,将会进行切片,然后与master进行多次通信

应用程序需要提供的是文件名和偏移量,

chunk server本质上是不同的副本,但是因为分布式的原因,他们可能有一些区别

write提供文件名和一段字节数据,数据存在buffer中,寻找最后的chunk,对与写,需要有一个primary,这个有时候会由master指定,有的时候需要自己确定

master确定首先要确定最新的副本,一般是通过版本号确定,如果没有找到这些最新的副本,master要么暂停,要么回复未知,确定了最新的副本后会选择其中一个作为primary,其他作为secondry,然后master递增版本号并将其放入磁盘中。

当master发现更高的版本号的时候,默认使用那个更高的

ACK:确认字符

版本号的目的是让master找到哪些server有最新的chunk,primer的目的是保证数据最优先处理的,这样即使是崩了,也能有一个chunk保存了新的版本号和更新。

一种保证数据接受不会中途中断的的办法,primer和secondy接受数据会写到一个临时的地方,直到所有的数据都接受完之后,primer查看chunk的末尾,确定是否有足够的位置去记录。知道所有的secondy都成功将数据保存的时候,primer返回yes,否则返回no,然后客户端再次重新追加指令,首先chunk测试偏移量对不对,不对的进行重新的添加

当primer ping不到了,master不会立即指定一个新的primer,否则,在另一段将会有两个primer,但是他们的数据却并不相同,这种情况下将会个primer设定一个租约时间,这种情况下租约时间到了之后,旧的primer将会不接受master的进一步数据,这种时候就可以重新选择新的primer了

gfs转移到强一致性需要考虑的问题,primer需要检测重复要求,secondary必须执行primer提出的请求,如果不能执行,就要将这个secondary移除,新的primer必须进行同步

 

标签:6.824,版本号,chunk,笔记,server,副本,master,primer
From: https://www.cnblogs.com/uestc-du/p/16820032.html

相关文章

  • 读史记笔记
    ......
  • Vue笔记 脚手架vue-cli
                  ......
  • 数据结构#1 笛卡尔树学习笔记
    笛卡尔树数据结构结构介绍笛卡尔树是一种树形的数据结构,它的每一个节点都有两个值key和weight,其中key满足二叉搜索树的性质,而weight满足堆的性质。在使用时,我们通常将ke......
  • Mysql学习笔记(十三)
    mysql常用数据类型:int,double,float,decimal,varchar,char,text,datetime;表的创建:createtable[schema数据库名或者表名].tablename;数据对象的命名规则:必须以字......
  • 20201302姬正坤第五章学习笔记
    LINUX第五章定时器及时钟服务硬件定时器定时器是由时钟源和可编程计数器组成的硬件设备。时钟源通常是一个晶体振荡器,会产生周期性电信号,以精确的频率驱动计数器。使用......
  • sql-学习笔记
    1、union与unionall的区别:union会对查询到的数据进行去重,unionall则会保存所有查询到的结果 2、groupby1,2表示:第一列、第二列属性 3、count(1)和count(date)......
  • 信息安全系统设计与实现学习笔记8
    一、知识点归纳以及自己最有收获的内容1、知识点归纳第5章定时器及时钟服务1、硬件定时器定时器是由时钟源和可编程计数器组成的硬件设备。时钟源通常是一个晶体振荡......
  • Linux nano编辑器使用笔记
    新安装的Debian系统,编辑文件的时候发现只有一个自带的nano编辑器,nano编辑器的命令和vi有所不同,做简单笔记。新建/编辑文件nano路径+文件名如果改文件存在,上面的命令将打开......
  • UE4学习笔记11——【蓝图】拾取钥匙开门
    P35.拾取钥匙开门P35(在“内容浏览器”中,“内容——StartContent——Architecture”中有一些关于建筑的静态网格体,比如墙)(复制一个我们之前做好的旋转开关门蓝图类,在这......
  • Ethernet—笔记本电脑突然不能联网,显示以太网网络电缆被拔出,用的是无线网
    问题如下图突然上不了网了今天突然遇到上网问题,电脑突然上不了网了,在我的不断搜索终于给我找到了办法,或许还有别的方法下面是我解决方法步骤。这一次我同样是打开设备......