码迷,mamicode.com
首页 > 其他好文 > 详细

MFS分布式文件系统

时间:2018-02-08 11:10:00      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:client   取数据   元数据   分布式文件系统   客户端   process   配置   dfa   mat   

MFS分布式文件格式

1.组成
1)Master(元数据服务器):负责维护、管理数据的所在位置等
2)Chunk Server(数据存储服务器):负责数据的存储
3)Metalogger(元数据日志服务器):负责纪录数据的改动情况
4)Client(客户端):访问MFS
2.MFS读过程
1)客户端向Master发送读请求
2)Master去缓存的数据库(非MySQL)中搜索客户端所需数据的位置,并告知客户端(Chunk Server IP、Chunk编号)
3)客户端去指定Chunk Server的对应Chunk编号读取数据
4)客户端通知Master读取完毕
3.MFS写过程
1)客户端向Master发送写请求
2)Master通知Chunk Server(谁空闲,如空闲新建Chunk编号),找到后将知道的Chunk Server IP和编号告知客户端
3)客户端向指定IP和编号存储数据
4)客户端告知Master写入完毕
5)Master通知Metalogger有新数据写入(Matelogger纪录新增加文件位置和对应Chunk Server),日志记录完毕后,连接关闭
文件以chunk大小存储,每chunk最大为64M。小于64M的,该chunk的大小即为该文件大小,超过64M的文件将被均分,每一份(chunk)的大小以不超过64M为原则;文件可以有多份copy,即除原始文件以外,该文件还存储的份数。当goal为1时,表示只有一份copy,这份copy会被随机存到一台chunkserver上。当goal的数大于1时,每一份copy会被分别保存到其它chunkserver上。goal的大小不要超过chunkserver的数量,否则多出的copy,不会有chunkserver去存,goal设置再多实际上也就没有意义的。copy的份数,一般设为大于1份,这样如果有一台chunkserver坏掉后,至少还有一份copy,当这台又被加进来后,会将失去的那份copy补回来,始终保持原有的copy数。而如果goal设为1,那么当存储该copy的chunkserver坏掉,之后又重新加入回来,copy数将始终是0,不会恢复到之前的1个copy
chunkserver上的剩余存储空间要大于1GB,新的数据才会被允许写入,否则,你会看到No space left的提示
多个chunker并不影响写的速度,但是能加快读的速度,在原来的基础上增加一个chunker时,数据会自动同步到新增的chunker上以达到数据的平衡和均衡

实验环境:五台centos6.7x64服务器,yum源和IP根据自己需求配置,切记首先关闭防火墙和selinux,具体环境如下图
技术分享图片

Master 192.168.1.10 vmnet1 mfs-1.6.27-5.tar.gz

MetaLogger 192.168.1.20 vmnet1 mfs-1.6.27-5.tar.gz

Chunk Server 1 192.168.1.30 vmnet1 mfs-1.6.27-5.tar.gz

Chunk Server 2 192.168.1.40 vmnet1 mfs-1.6.27-5.tar.gz

Client 192.168.1.50 mnet1 mfs-1.6.27-5.tar.gz

fuse-2.9.2.tar.gz

MFS分布式文件系统

标签:client   取数据   元数据   分布式文件系统   客户端   process   配置   dfa   mat   

原文地址:http://blog.51cto.com/13043516/2070093

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!