MFS分布式文件系统的部署

网友投稿 311 2022-10-14

MFS分布式文件系统的部署

MFS分布式文件系统的部署

MFS简介

MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。

MFS文件系统的组成。 元数据服务器(master):负责管理文件系统,维护元数据。 元数据日志服务器(MetaLogger):存放日志文件。 数据存储服务器(Chunk Server):真正存储数据的服务器。 客户端(client):用来挂载MFS文件文件系统的。 MFS读取数据的处理过程。 1. 客户端向元数据服务器发出读请求。 2. 元数据服务器把所需数据存放的位置告知客户端。 3. 客户端向已知的Chunk Server请求发送数据。 4. Chunk Server向客户端发送数据。 MFS写入数据的处理过程。 客户端向元数据服务器发送写入请求。 元数据服务器与(ChunkServer进行交互)。 元数据服务器告知客户端,可以在哪个Chunk Server的哪些Chunks写入数据。 客户端向指定的Chunk Server写入数据。 该Chunk Server 与其他Chunk Server进行数据同步,同步成功后Chunk Server告知客户端数据写入成功。 客户端告知元数据服务器本次写入完毕。

实验环境

主机名称及角色 IP地址 主要软件
CentOS7-1(master) 172.16.10.138 mfs-1.6.27-5.tar.gz
CentOS7-2(MetaLogger) 172.16.10.137 mfs-1.6.27-5.tar.gz
CentOS7-3(chunkserever1) 172.16.10.133 mfs-1.6.27-5.tar.gz
CentOS7-4(chunkserever2) 172.16.10.136 mfs-1.6.27-5.tar.gz
CentOS7-6(client) 172.16.10.135 mfs-1.6.27-5.tar.gz、fuse-2.9.2.tar.gz

实验部署

搭建Master Server

首先安装环境包

yum -y install zlib-devel gcc gcc-c++

创建管理用户

useradd -s /sbin/nologin -M mfs

解压mfs软件、配置、编译安装

tar xf mfs-1.6.27-5.tar.gz -C /optcd /opt/mfs-1.6.27-5/./configure \--prefix=/usr/local/mfs \ #工作目录--with-default-user=mfs \ #运行masterserver的用户--with-default-group=mfs \ #运行masterserver的组--disable-mfschunkserver \ --disable-mfsmount #关闭功能 make && make install #编译安装

配置防断链

cd /usr/local/mfs/var/mfscp metadata.mfs.empty metadata.mfs

复制配置文件(使模板生效)

cd /usr/local/mfs/etc/mfscp mfsmaster.cfg.sample mfsmaster.cfg #主配置文件 cp mfsexports.cfg.sample mfsexports.cfg #被挂载目录及权限配置文件cp mfstopology.cfg.sample mfstopology.cfg #拓扑架构感知

开启master服务

/usr/local/mfs/sbin/mfsmaster start #开启服务

这里可以看到服务已经启动了,然后关闭服务可以使用/usr/local/mfs/sbin/mfsmaster -s

搭建MetaLogger server

首先安装环境包

yum -y install zlib-devel gcc gcc-c++

创建管理用户

useradd -s /sbin/nologin -M mfs

解压mfs软件、配置、编译安装

tar zxvf mfs-1.6.27-5.tar.gz -C /optcd /opt/mfs-1.6.27-5/./configure \--prefix=/usr/local/mfs \--with-default-user=mfs \--with-default-group=mfs \--disable-mfschunkserver \--disable-mfsmount make && make install

配置防断链

cd /usr/local/mfs/var/mfs/cp metadata.mfs.empty metadata.mfs

复制配置文件(使模板生效)

cd /usr/local/mfs/etc/mfscp mfsmaster.cfg.sample mfsmaster.cfgcp mfsexports.cfg.sample mfsexports.cfgcp mfsmetalogger.cfg.dist mfsmetalogger.cfg

修改配置文件使地址指向master服务器

vim mfsmetalogger.cfg MASTER_HOST=172.16.10.138 #指向master服务器

开启MetaLogger Server服务

/usr/local/mfs/sbin/mfsmetalogger start #开启服务

搭建chunkserver

首先安装环境包

yum -y install zlib-devel gcc gcc-c++

创建管理用户

useradd -s /sbin/nologin -M mfs

解压mfs软件、配置、编译安装

tar zxvf mfs-1.6.27-5.tar.gz -C /optcd /opt/mfs-1.6.27-5/./configure \--prefix=/usr/local/mfs \--with-default-user=mfs \--with-default-group=mfs \--disable-mfsmaster \--disable-mfsmount make && make install

复制配置文件(使模板生效)

cd /usr/local/mfs/etc/mfscp mfschunkserver.cfg.sample mfschunkserver.cfgcp mfshdd.cfg.sample mfshdd.cfg

修改配置文件使地址指向master服务器

vim mfschunkserver.cfg MASTER_HOST=172.16.10.138 #指向master服务器

修改mfshdd.cfg,添加共享的文件目录

vim mgshdd.cfg /data #添加

创建共享目录,修改属主属组

mkdir /data chown -R mfs:mfs /data

开启chunkserver服务

/usr/local/mfs/sbin/mfschunkserver start #开启服务

注:另一台chunkserver服务器和这台配置一样

搭建客户端client

首先安装环境包

yum -y install zlib-devel gcc gcc-c++

创建管理用户

useradd -s /sbin/nologin -M mfs

解压辅助工具

tar xf fuse-2.9.2.tar.gz -C /optcd /opt/fuse-2.9.2/./configuremake && make install

添加环境变量,使系统识别

vim /etc/profileexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH #添加 source /etc/profile #刷新生效

搭建mfs客户端

tar zxvf mfs-1.6.27-5.tar.gz -C /optcd /opt/mfs-1.6.27-5/./configure \--prefix=/usr/local/mfs \--with-default-user=mfs \--with-default-group=mfs \--disable-mfsmaster \--disable-mfschunkserver \--enable-mfsmount make && make install

挂载MFS文件系统

mkdir /opt/mfs //创建挂载点//modprobe fuse //加载fuse模块到内核///usr/local/mfs/bin/mfsmount /opt/mfs -H 172.16.10.138 //挂载MFS

如果要卸载MFS,使用命令umount /opt/mfs

常用操作

vim /etc/profileexport PATH=/usr/local/mfs/bin:$PATH #添加环境变量,方便相关命令的使用 source /etc/profile

MFS网页监控

/usr/local/mfs/sbin/mfscgiserv #开启

测试

至此实验成功,MFS分布式文件系统就全部介绍完了!!!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JavaEE的进程,线程和创建线程的5种方式详解
下一篇:搭建百万PV网站架构
相关文章

 发表评论

暂时没有评论,来抢沙发吧~