moosefs搭建与应用

MooseFS简介:

MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器单独磁盘或分区上,确保一份数据有多个备份副本。因此MooseFS是一中很好的分布式存储。接下来我们通过搭建moosefs,并了解的使用。

环境主机-centos7:搭建moosefs需要五台主机

node1  172.25.0.29  mfsmaster

node2  172.25.0.30  Metalogger

node3  172.25.0.31  check servers

node4  172.25.0.32  check servers

node5  172.25.0.33  挂载客户端

一、mfsmaster的安装:

node1上

1、下载3.0包[root@node1 src]#yum install zlib-devel -y##下载环境包

[root@node1 src]# wget https://github.com/moosefs/moosefs/archive/v3.0.96.tar.gz

2、安装master:[root@node1 moosefs-3.0.96]# useradd mfs

[root@node1 src]# tar -xf v3.0.96.tar.gz

[root@node1 src]# cd moosefs-3.0.96/

[root@node1 moosefs-3.0.96]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

[root@node1 src]#make && make install

[root@node1 moosefs-3.0.96]# ls /usr/local/mfs/

bin  etc  sbin  share  var

注:etc和var目录里面存放的是配置文件和MFS的数据结构信息,因此请及时做好备份,防止灾难损毁。后面做了 Master Server双机之后,就可以解决这个问题。

3、配置master[root@node1 mfs]# pwd

/usr/local/mfs/etc/mfs

[root@node1 mfs]# ls

mfsexports.cfg.sample  mfsmaster.cfg.sample  mfsmetalogger.cfg.sample  mfstopology.cfg.sample

##要把需要的重命名成.cfg文件:[root@node1 mfs]# cp mfsexports.cfg.sample mfsexports.cfg

[root@node1 mfs]# cp mfsmaster.cfg.sample  mfsmaster.cfg

4、修改控制文件:[root@node1 mfs]#vim mfsexports.cfg

*            /         rw,alldirs,mapall=mfs:mfs,password=xiaoluo

*            .          rw

注:##mfsexports.cfg 文件中,每一个条目就是一个配置规则,而每一个条目又分为三个部分,其中第一部分是mfs客户端的ip地址或地址范围,第二部分是被挂载的目录,第三个部分用来设置mfs客户端可以拥有的访问权限。

5、开启元数据文件默认是empty文件[root@node1 mfs]#cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs

6、启动master:[root@node1 mfs]# /usr/local/mfs/sbin/mfsmaster start

open files limit has been set to: 16384

working directory: /usr/local/mfs/var/mfs

lockfile created and locked

initializing mfsmaster modules ...

exports file has been loaded

mfstopology configuration file (/usr/local/mfs/etc/mfstopology.cfg) not found - using defaults

loading metadata ...

metadata file has been loaded

no charts data file - initializing empty charts

master  metaloggers module: listen on *:9419

master  chunkservers module: listen on *:9420

main master server module: listen on *:9421

mfsmaster daemon initialized properly

7、检查进程是否启动:[root@node1 mfs]# ps -ef | grep mfs

mfs        8109      1  5 18:40 ?        00:00:02 /usr/local/mfs/sbin/mfsmaster start

root       8123   1307  0 18:41 pts/0    00:00:00 grep --color=auto mfs

8、查看端口:[root@node1 mfs]# netstat -ntlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

tcp        0      0 0.0.0.0:9419            0.0.0.0:*               LISTEN      8109/mfsmaster

tcp        0      0 0.0.0.0:9420            0.0.0.0:*               LISTEN      8109/mfsmaster

tcp        0      0 0.0.0.0:9421            0.0.0.0:*               LISTEN      8109/mfsmaster

二、安装Metalogger Server:

前面已经介绍了,Metalogger Server 是 Master Server 的备份服务器。因此,Metalogger Server 的安装步骤和 Master Server 的安装步骤相同。并且,最好使用和 Master Server 配置一样的服务器来做 Metalogger Server。这样,一旦主服务器master宕机失效,我们只要导入备份信息changelogs到元数据文件,备份服务器可直接接替故障的master继续提供服务。

1、从master把包copy过来:[root@node1 mfs]# scp /usr/local/src/v3.0.96.tar.gz node2:/usr/local/src/

v3.0.96.tar.gz[root@node2 moosefs-3.0.96]# tar zxvf v3.0.96.tar.gz

[root@node2 moosefs-3.0.96]# useradd mfs

[root@node2 moosefs-3.0.96]# yum install zlib-devel -y

[root@node2 moosefs-3.0.96]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs  --disable-mfschunkserver --disable-mfsmount

[root@node2 moosefs-3.0.96]# make && make install

2、配置Metalogger Server:[root@node2 moosefs-3.0.96]# cd /usr/local/mfs/etc/mfs/

[root@node2 mfs]# ls

mfsexports.cfg.sample  mfsmaster.cfg.sample  mfsmetalogger.cfg.sample  mfstopology.cfg.sample

[root@node2 mfs]#cp mfsmetalogger.cfg.sample mfsmetalogger.cfg

[root@node2 mfs]#vim mfsmetalogger.cfg

MASTER_HOST = 172.25.0.29

3、启动Metalogger Server:[root@node2 mfs]#/usr/local/mfs/sbin/mfsmetalogger start

open files limit has been set to: 4096

working directory: /usr/local/mfs/var/mfs

lockfile created and locked

initializing mfsmetalogger modules ...

mfsmetalogger daemon initialized properly[root@node2 mfs]# netstat -lantp|grep metalogger

tcp        0      0 172.25.0.30:45620   172.25.0.29:9419    ESTABLISHED 1751/mfsmetalogger

4、查看一下生成的日志文件:[root@node2 mfs]# ls /usr/local/mfs/var/mfs/

changelog_ml_back.0.mfs  changelog_ml_back.1.mfs  metadata.mfs.empty  metadata_ml.mfs.back

三、安装check servers:

在node3和node4上操作,我这里在node3上演示:

1、从master把包copy过来:[root@node1 mfs]# scp /usr/local/src/v3.0.96.tar.gz node3:/usr/local/src/

v3.0.96.tar.gz[root@node3 ~]# useradd mfs

[root@node3 ~]# yum install zlib-devel -y

[root@node3 ~]# cd /usr/local/src/

[root@node3 src]# tar zxvf v3.0.96.tar.gz

[root@node3 moosefs-3.0.96]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs  --disable-mfsmaster --disable-mfsmount

[root@node3 moosefs-3.0.96]# make && make install

2、配置check server:[root@node3 moosefs-3.0.96]# cd /usr/local/mfs/etc/mfs/

You have new mail in /var/spool/mail/root

[root@node3 mfs]# cp mfschunkserver.cfg.sample mfschunkserver.cfg

[root@node3 mfs]# vim mfschunkserver.cfg

MASTER_HOST = 172.25.0.29

3、配置mfshdd.cfg主配置文件

mfshdd.cfg该文件用来设置你将 Chunk Server 的哪个目录共享出去给 Master Server进行管理。当然,虽然这里填写的是共享的目录,但是这个目录后面最好是一个单独的分区。[root@node3 mfs]# cp /usr/local/mfs/etc/mfs/mfshdd.cfg.sample /usr/local/mfs/etc/mfs/mfshdd.cfg

You have new mail in /var/spool/mail/root

[root@node3 mfs]# vim /usr/local/mfs/etc/mfs/mfshdd.cfg

/mfsdata

4、启动check Server:[root@node3 mfs]# mkdir /mfsdata

[root@node3 mfs]# chown mfs:mfs /mfsdata/

You have new mail in /var/spool/mail/root

[root@node3 mfs]# /usr/local/mfs/sbin/mfschunkserver start

open files limit has been set to: 16384

working directory: /usr/local/mfs/var/mfs

lockfile created and locked

setting glibc malloc arena max to 4

setting glibc malloc arena test to 4

initializing mfschunkserver modules ...

hdd space manager: path to scan: /mfsdata/

hdd space manager: start background hdd scanning (searching for available chunks)

main server module: listen on *:9422

no charts data file - initializing empty charts

mfschunkserver daemon initialized properly

###检查监听端口:[root@node3 mfs]# netstat -lantp|grep 9420

tcp        0      0 172.25.0.31:45904   172.25.0.29:9420    ESTABLISHED 9896/mfschunkserver

四、客户端挂载文件安装:

node5上

1、安装FUSE:[root@node5 mfs]# lsmod|grep fuse

[root@node5 mfs]# yum install fuse fuse-devel  -y

[root@node5 ~]# modprobe fuse

[root@node5 ~]# lsmod |grep fuse

fuse                   91874  0

2、安装挂载客户端[root@node5 ~]# yum install zlib-devel -y

[root@node5 ~]# useradd mfs

[root@node5 src]# tar -zxvf v3.0.96.tar.gz

[root@node5 src]# cd moosefs-3.0.96/

[root@node5 moosefs-3.0.96]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount

[root@node5 moosefs-3.0.96]# make && make install

3、在客户端上挂载文件系统,先创建挂载目录:[root@node5 moosefs-3.0.96]# mkdir /mfsdata

[root@node5 moosefs-3.0.96]# chown -R mfs:mfs /mfsdata/

[root@node5 moosefs-3.0.96]# /usr/local/mfs/bin/mfsmount /mfsdata -H 172.25.0.29 -p

MFS Password:

mfsmaster accepted connection with parameters: read-write,restricted_ip,map_all ; root mapped to mfs:mfs ; users mapped to mfs:mfs[root@node5 ~]# df -h

Filesystem           Size  Used Avail Use% Mounted on

/dev/mapper/cl-root   18G  1.9G   17G  11% /

devtmpfs             226M     0  226M   0% /dev

tmpfs                237M     0  237M   0% /dev/shm

tmpfs                237M  4.6M  232M   2% /run

tmpfs                237M     0  237M   0% /sys/fs/cgroup

/dev/sda1           1014M  139M  876M  14% /boot

tmpfs                 48M     0   48M   0% /run/user/0

172.25.0.29:9421     36G  4.2G   32G  12% /mfsdata

4、我们写入本地文件测试一下:[root@node5 moosefs-3.0.96]# cd /mfsdata/

[root@node5 mfsdata]# touch xiaozhang.txt

[root@node5 mfsdata]# echo "test" > xiaozhang.txt

[root@node5 mfsdata]#cat  xiaozhang.txt

test

发现可以写入成功。也证明我们的mfs已经搭建完成的。

总结:现在我们我可以发现,mfs的master只有一台,很明显得单点缺陷,因此为了解决这个问题,我也查阅了很多资料,终于解决了这个单点的问题,详细可以参考文章:https://blog.51cto.com/xiaozhagn/1977052

moosefs mysql_moosefs搭建与应用相关推荐

  1. 分布式存储MooseFS的搭建

    mooseFS是一款网络分布式文件系统.它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源.MFS也像其他类unix文件系统一样,包含了层级结构(目录树),存储着文件属性(权限,最后访问和修 ...

  2. Moosefs分布式文件系统的搭建与维护

    一.文件系统选型 在一般的生产环境中,NFS共享存储算是比较常用的,简单.方便,但随着业务的不断扩展,数据量也是承爆发式的增长,因而对存储这些数据的文件系统要求也越来越高了,分存式.可扩展.大容量,这 ...

  3. Gluster的搭建和使用

    Gluster的搭建和使用 序言 我们为什么要去使用分布式存储,在一家大型公司或者大规模的集群中,大家可能会经常遇到一个问题,我的数据怎么存放,放在那,数据空间不够了怎么办,这些问题经常困扰着我们. ...

  4. 搭建glusterfs集群

    搭建glusterfs集群 Glusterfs简介 GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB ...

  5. moosefs分布式文件系统

    环境搭建 [root@server1 ~]# curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repo ...

  6. Linux高级服务搭建

    集群 集群原理 集群:一组协同工作的服务器对外表现为一个整体 LBC:负载均衡集群,多台主机承担压力请求 HAC:高可用集群,尽可能的保障服务的不间断运行 HPC:高性能运算集群,提供单台服务器提供不 ...

  7. MFS分布式文件系统的搭建

    MFS分布式文件系统的搭建 一:介绍MFS ​ MFS(MooseFS)是一个具有容错性的网络分布式文件系统.它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源. MFS也像其他类的 ...

  8. MooseFS 分布式文件介绍+部署 MFS

    官网:http://www.moosefs.org 1.MooseFS是什么 一个类MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一 ...

  9. 正式压力测试:locust进阶,超简单搭建生产级locust集群

    locust进阶,搭建生产级locust集群 本教程基于k8s集群搭建,使用helm作为包管理工具 通过helm安装locust

最新文章

  1. 编程爱好者学vb还是python-高手,这是高手!推荐几个我常看的顶级技术类公众号...
  2. java中的接口中的方法
  3. 【wikioi】1022 覆盖(匈牙利)
  4. 虚拟键码 键盘消息(初稿)
  5. 函数计算支持应用中心功能
  6. Django之Cookie
  7. 发布地图服务属性表_Web3D地图来了!腾讯位置服务正式版发布!
  8. LiteIDE 在 Windows 下为 Go 语言添加智能提示代码补全
  9. 服务器字体放在服务器什么位置,服务器缺少字体如何查看与添加
  10. Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之文件上传
  11. 百度编辑器上传图片地址+上域名,让上传图片保存全路径
  12. 巴比特 | 元宇宙每日必读:“由虚向实”的工业元宇宙落地情况如何?未来又将走向何方?...
  13. 计算机组成原理——Part Three 性能指标
  14. ntfs格式分区是什么意思
  15. Windows系统使用Procrun部署SpringBoot的JAR包
  16. 瑞吉外卖第一篇(1):搭建环境之创建数据库
  17. CMD命令下获取昨日日期
  18. 灰度、灰度级、分辨率、像素值等一些系列基本概念(转)
  19. IntelliJ IDEA中的神仙插件 写代码必备
  20. 你的Java代码对JIT编译友好么?(转)

热门文章

  1. 非负矩阵之Perron-Frobenius定理
  2. c语言大作业_2018 C语言大作业--21_Ekko制作教程
  3. linux 应用网络连接失败的原因,PuTTY网络错误:软件导致连接中止
  4. 解决Tomcat8及Tomcat7下http的post、get请求中参数中文乱码问题
  5. 华为nova7保密柜_华为发布nova8系列新品 轻松拍出Vlog黄金脸占比
  6. vim选中字符复制/剪切/粘贴
  7. ruby中的self
  8. 查询SQL中某表里有多少列包含某字段
  9. java.logging的重定向?
  10. Tiny Wings 为什么能迅速成为 iOS App Store 付费应用第一名?