现在的位置: 首页 > 综合 > 正文

分布式文件系统—mdfs

2012年01月18日 ⁄ 综合 ⁄ 共 1161字 ⁄ 字号 评论关闭

mdfs(Ming distributed file system)是一个负载均衡的分布式文件系统。mdfs具有高性能、高扩展性和高稳定性等特性,致力于解决小文件(如图片,而非电影)大并发背景下的一个非常好的方案,mdfs的标准是按照目前国际先进的标准进行设计和实现,所以它在目前同类产品中也算是比较先进的。

 mdfs是一个主从(master/slave)的实现,msaster管理nameNode维护元数据,slave处管理dataNode负责存储文件,如下图

下面我们通过图片看一下验证mdfs的过程

首先,启动msater节点

master启动后,会等待来自slave的心跳包,这些包,会告诉master,slave的信息,并且通过这些心跳包来更新slave们的状态,这样子我们可以有更好的水平扩展能力,我们可以随时增加slave节点,去解决性能和容量的扩展问题,同时,因为有了非常灵活的增加加节点的方式,也让mdfs成为一个拥有无限容量的文件系统。

在启动slave之后,我们先看看他的目录,如下图

直接运行:com.ming.store.slave.exe

为了演示分发和负载均衡,我们现在运行七个slave节点,同时分发因子为3

这个时候我们看到master接收到了来自7个不同来源的心跳包,现在我们可以向mdfs上传文件以验证了,不过,首先,我们先要看一下,slave们的存储目录,现在把所有slave的存储目录都设置在g:\download\mdfs下,他们之间通过自己的名称来创建自己的目录 :slave0,slave1 ……,为了更好的演示分发,我们先看一个空的目录:

注意看,现在这个目录下没有文件也没有目录,现在我们开发上传一个图片

这是演示通过mdfs client api上传图片的流程

这是client得到的master指派给他的机器,因为现在所有slave上面都没有数据,那么会随机选三个作为结果,现在我们看一下存储目录,以便 更好的展示

现在我们可以 看到slave4,slave5,slave6都已经有了自己的目录。

现在为了更好的验证负载均衡下的分发,我们再上传一个文件

这次master分派了slave1,slave2,slave3给client,这里我们再回忆一下,我们之前一共启动了7台slave,现在已经有6台已经分配 ,还有一台slave0还是空间的。

现在我们再看一下存储目录:

我们可以看到slave1,slave2,slave3……slave6都已经有了自己的目录。第二次分发的结果里面,没有之前已经分配 过的salve4,slave5,slave6,这样已经很好的验证了mdfs的负载均衡。

 

本人由于是一名技术人员,文档水平不好,这里请大家见谅,欢迎大家 就分布式文件系统(mdfs)进行讨论,我也会在这里为大家解答。

 

【上篇】
【下篇】

抱歉!评论已关闭.