MFS分布式文件系统

MFS一键部署脚本,安装主机角色可选 master-server metalogger chunkServer mfs-client
MFS-client windows挂载(简单来说就是使用NFS再共享)

目录结构:

部署步骤

前提:服务器需连通外网、yum命令可正常使用

1、将MFS.zip包上传至服务器/home目录并解压

sudo unzip -o MFS.zip

2、修改部署脚本 MfsInstall.sh 中的ip地址、网段,为自己实际部署环境

sudo vim MfsInstall.sh
#!/bin/sh

echo "./MfsInstall.sh master-server"

echo "执行的文件名:$0";
echo "安装主机角色可选 master-server metalogger chunkServer mfs-client:$1";

#绑定host,修改为自己的主机ip,关闭防火墙
sudo cat >> /etc/hosts <<EOF
10.173.1.78 master-server
10.173.1.83 metalogger
10.173.1.84 chunkServer1
10.173.1.85 chunkServer2
EOF

sudo systemctl stop firewalld
sudo systemctl stop iptables

sudo systemctl disable firewalld
sudo systemctl disable iptables

sudo setenforce 0

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#创建mfs用户和组
sudo useradd mfs -s /sbin/nologin


#编译安装

sudo yum install -y gcc c++  zlib-devel
cd /home
sudo tar -zvxf moosefs-3.0.91-1.tar.gz
cd moosefs-3.0.91

if [ "$1" = mfs-client ];then
sudo yum -y install fuse fuse-devel
sudo ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
sudo make && make install

else

sudo ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
sudo make && make install

fi

echo "编译安装完成"

cd /usr/local/mfs/etc/mfs

#master
if [ "$1" = master-server ]; then

sudo cp -a mfsmaster.cfg.sample mfsmaster.cfg && cp -a mfstopology.cfg.sample mfstopology.cfg && cp -a mfsexports.cfg.sample mfsexports.cfg

#修改为自己的网段
sudo cat >>mfsexports.cfg<<EOF
10.173.1.0/24         /          rw,alldirs,maproot=0
EOF
cd ../../var/mfs/
sudo cp -a metadata.mfs.empty metadata.mfs
sudo chown -R mfs:mfs /usr/local/mfs
#可以使用/usr/local/mfs/sbin/mfsmaster -a 命令进行启动,这种方式一般可用于修复性启动。
echo "mfsmaster 启动..."
sudo /usr/local/mfs/sbin/mfsmaster start
echo "mfscgiserv-GUI 启动..."
sudo /usr/local/mfs/sbin/mfscgiserv  start

fi

#metalogger
if [ "$1" = metalogger ]; then

sudo cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
#修改为自己的master主机ip
sudo cat >>mfsmetalogger.cfg<<EOF
META_DOWNLOAD_FREQ = 1
MASTER_HOST = 10.173.1.78
MASTER_PORT = 9419
EOF
cd ../../var/mfs/
sudo cp -a metadata.mfs.empty metadata.mfs
sudo chown -R mfs:mfs /usr/local/mfs

echo "metalogger 启动..."
sudo /usr/local/mfs/sbin/mfsmetalogger start

fi


#chunkServer
if [ "$1" = chunkServer ]; then

sudo cp mfschunkserver.cfg.sample mfschunkserver.cfg && cp mfshdd.cfg.sample mfshdd.cfg
#修改为自己的master主机ip
sudo cat >>mfschunkserver.cfg<<EOF
MASTER_HOST = 10.173.1.78
MASTER_PORT = 9420
EOF

#data目录必须独立分区,事先准备
sudo cat >>mfshdd.cfg<<EOF
# mount points of HDD drives
/data
EOF

chown -R mfs:mfs /data
cd ../../var/mfs/
sudo cp -a metadata.mfs.empty metadata.mfs
sudo chown -R mfs:mfs /usr/local/mfs

echo "chunkserver 启动..."
sudo /usr/local/mfs/sbin/mfschunkserver start

fi

#mfs-client
if [ "$1" = mfs-client ]; then



sudo mkdir -p /ABS_DOCUMENT/doc_mfs
sudo mkdir -p /ABS_DOCUMENT/mfsmeta
echo "挂载MFS文件系统"
sudo /usr/local/mfs/bin/mfsmount /ABS_DOCUMENT/doc_mfs -H 10.173.1.78
echo "挂载MFS文件系统的mfsmeta,使用回收站功能"
sudo /usr/local/mfs/bin/mfsmount -m /ABS_DOCUMENT/mfsmeta/ -H 10.173.1.78
df -h
mount
echo "设置开启自动挂载"
sudo cat >>/etc/rc.local<<EOF
# mount points of HDD drives
sudo /usr/local/mfs/bin/mfsmount /ABS_DOCUMENT/doc_mfs -H 10.173.1.78
sudo /usr/local/mfs/bin/mfsmount -m /ABS_DOCUMENT/mfsmeta/ -H 10.173.1.78
EOF

fi

#特殊用法,因为windows没有支持MFS-client,所以通过nfs-server在linux上共享MFS-client已挂载的目录,然后windows再进行挂载。如果nfs-server服务器宕机重启,需要restart nfs服务,并重载数据

#cat >> /etc/exports <<EOF
#/ABS_DOCUMENT/doc_mfs 10.173.1.0/24(fsid=0,rw,async,no_root_squash)
#EOF
#systemctl start nfs
#exportfs -rv

echo "查看启动状态"
ps -ef|grep mfs

3、授予MfsInstall.sh执行权限

sudo chmod u+x MfsInstall.sh

4、执行

sudo ./MfsInstall.sh master-server  ##作为管理服务器安装
sudo ./MfsInstall.sh metalogger  ##作为元数据日志服务器安装
sudo ./MfsInstall.sh chunkServer  ##作为数据存储服务器安装(推荐至少两台chunkserver)
sudo ./MfsInstall.sh mfs-client  ##作为客户端安装

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方格眼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值