分布式文件系统Moosefs

简介: MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本。对于访问的客户端或者用户来说,整个分布式网络文件系统集群看起来就像一个资源一样。

环境准备
操作系统为:centos linux 6.x
mfs: version: 2.0.88-1

服务器信息:

服务器角色 Ip地址 备注
Metaserver Master 10.168.250.18 主元数据服务器(VIP:10.168.250.33)
Metaserver Slave 10.168.250.19 备元数据服务器
Chunkserver 10.168.250.20 数据存储服务器
Chunkserver 10.168.250.21 数据存储服务器
Moosefs client 10.168.250.22 客户机挂载服务器,测试使用
Moosefs-master安装配置
安装社区版本 Master Server
在10.168.250.18和10.168.250.19上安装Master Server
两台机器上都根据以下方式配置好yum源
1.curl "http://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS

如下图:

2.curl "http://ppa.moosefs.com/MooseFS-2-el6.repo" > /etc/yum.repos.d/MooseFS.repo

如下图:

安装Moosefs-Master
1.yum install moosefs-master moosefs-cli moosefs-cgi moosefs-cgiserv

如下图:

2.修改配置文件:mfsmaster.cfg

Master默认配置文件目录:/etc/mfs
对于要修改的文件,先执行:cp mfsmaster.cfg.dist mfsmaster.cfg

将文件mfsmaster.cfg中的MATOCS_LISTEN_HOST的ip修改为:10.168.250.18。
MATOCS_LISTEN_HOST:用于 chunkserver连接的 IP 地址(默认是*,代表任何IP);
建议修改为chunkserver需要连接的ip地址。

3.修改主机名和IP配置文件:hosts

该文件目录:/etc/hosts

vi /etc/hosts

10.168.250.18 hadoop18.test.com 【注意:后续会修改为VIP】
10.168.250.19 hadoop19.test.com
10.168.250.20 hadoop20.test.com
10.168.250.21 hadoop21.test.com
10.168.250.22 hadoop22.test.com

该文件的IP和网址域名可根据实际情况进行配置

【注意:以上步骤需要在18和19上都进行操作】

4.master启动 和停止

启动命令有两种方式:一、/usr/sbin/mfsmaster start 二、service moosefs-master start

用/usr/sbin/mfsmaster start启动如下图:

检查mfs服务:ps –aux | grep mfs,如下图:

检查mfs监听端口:netstat ntlp,如下图:
master有两种停止命令:/usr/sbin/mfsmaster stop;
service moosefs-master stop

5.监控平台启动和停止

启动命令有两种方式:一、/usr/sbin/mfscgiserv start 二、service moosefs-cgiserv start

用/usr/sbin/mfscgiserv start启动如下图:

检查监控平台监听端口:netstat ntlp,如下图红框处:

master有两种停止命令:/usr/sbin/mfscgiserv stop;
service moosefs-mfscgiserv stop

访问http: //10.168.250.18:9425 ,如下图 【注意:后续以VIP的方式进行访问】

Chunk-server安装配置
在10.168.250.20和10.168.250.21上安装chunk-server
两台机器上都根据以下方式配置好yum源【注意:此步骤与master安装一致】

1.curl "http://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS

如下图:

2.curl "http://ppa.moosefs.com/MooseFS-2-el6.repo" > /etc/yum.repos.d/MooseFS.repo

如下图:

安装chunk-server
1.yum install moosefs-chunkserver
如下图:

2.创建数据存储目录

1)创建mfs属组和用户

/usr/sbin/groupadd mfs
/usr/sbin/useradd mfs -g mfs -s /sbin/nologin

2)创建数据存储目录

mkdir -p /data/mfschunk
chown -R mfs:mfs /data/mfschunk

3.修改配置文件:mfschunkserver.cfg、mfshdd.cfg

chunk-server默认配置文件目录:/etc/mfs
对于要修改的文件,先执行:cp mfschunkserver.cfg.dist mfschunkserver.cfg;
cp mfshdd.cfg.dist mfshdd.cfg;

将文件mfschunkserver.cfg中的MASTER_HOST的ip修改为:10.168.250.18;
在mfshdd.cfg文件中添加目录:/data/mfschunk

4.修改主机名和IP配置文件:hosts

该文件目录:/etc/hosts

vi /etc/hosts

10.168.250.18 hadoop18.test.com 【注意:后续会修改为VIP】
10.168.250.19 hadoop19.test.com
10.168.250.20 hadoop20.test.com
10.168.250.21 hadoop21.test.com
10.168.250.22 hadoop22.test.com

该文件的IP和网址域名可根据实际情况进行配置

【注意:以上步骤需要在18和19上都进行操作】
5.chunk-server启动和停止

启动命令有两种方式:一、/usr/sbin/mfschunkserver start 二、service moosefs-chunkserver start

用/usr/sbin/mfschunkserver start启动如下图:

检查mfs监听端口:netstat ntlp,如下图红框出:
chunkserver有两种停止命令:/usr/sbin/mfschunkserver stop;
service moosefs-cgiserv stop

两台chunkserver启动后,通过监控平台看到的信息如下图:
图1:

图2:

Moosefs-client安装配置
在10.168.250.22上安装Moosefs-client
在10.168.250.22上都根据以下方式配置好yum源【注意:此步骤与master安装一致】

1.curl "http://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS

如下图:

2.curl "http://ppa.moosefs.com/MooseFS-2-el6.repo" > /etc/yum.repos.d/MooseFS.repo

如下图:

安装moosefs-client
1.yum install moosefs-client
如下图:

2.创建数据存储目录和回收站目录

1)创建mfs属组和用户

/usr/sbin/groupadd mfs
/usr/sbin/useradd mfs -g mfs -s /sbin/nologin

(是否需要)

2)创建数据存储目录

mkdir -p /data/mfsdata
mkdir -p /data/mfstrash
chown -R mfs:mfs /data/mfsdata(是否需要)

3.将/data/mfsdata、/data/mfstrash挂载到主moosefs-master(10.168.250.18)上

1)将/data/mfsdata挂载到主moosefs-master(10.168.250.18)上

/usr/bin/mfsmount /data/mfsdata -H 10.168.250.18

2)检查挂载情况,如下图红框处

通过监控平台查看moosefs-client挂载情况,如下图:

【注意:/data/mfstrash的挂载步骤与/data/mfsdata一致】

测试

1.在22上设置文件副本数

/usr/bin/mfsrsetgoal 2 /data/mfsdata
因为chunkserver只用两台,所以副本数为2。副本数以chunkserver个数为准。

2.在22上的/data/mfsdata编写文件

echo 'mytest' > /data/mfsdata/testfile

在/data/mfsdata目录下,生成testfile文件

3.检查文件传输情况

/usr/bin/mfsfileinfo /data/mfsdata/testfile

如下图:

文件被保存到20和21上。

4.检查20和21上文件保存情况

在/data/mfschunk下,执行命令:ls –lrt,如下图红框处

因为我是在15:21分,在22上执行的echo 'mytest' > /data/mfsdata/testfile命令,所以在21和22上显示的时间为15:21分。

相关文章
|
Java API 网络性能优化
NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy
报错日志: java.lang.NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy at ch.
11423 0
|
机器学习/深度学习 数据处理 对象存储
阿里云机器学习平台PAI智能标注Quick Start
智能标注(iTAG)是一款智能化数据标注平台,支持图像、文本、视频、音频等多种数据类型的标注以及多模态的混合标注。智能标注(iTAG)提供了丰富的标注内容组件和题目组件,您可以直接使用平台预置的标注模板,也可以根据自己的场景自定义模板进行数据标注。本文以图片标注为例演示该功能的使用。
5793 1
阿里云机器学习平台PAI智能标注Quick Start
|
12月前
|
存储 项目管理 数据库
6款适合团队使用的在线协作文档工具:功能、费用与特色对比
在数字化工作环境中,选择合适的在线协作文档工具对团队生产力至关重要。本文介绍了六款备受好评的工具:板栗看板、Google Docs、Microsoft OneNote、Notion、Dropbox Paper 和 Quip。从功能、费用到特色,全面对比分析,帮助企业管理者找到最适合团队需求的解决方案。
892 6
|
存储 安全 Java
Qt线程池+生产者消费者模型
Qt线程池+生产者消费者模型
626 5
|
存储 NoSQL 算法
聊一聊分布式锁的设计模型
什么是分布式锁?对于这个问题,相信很多同学是即熟悉又陌生。随着分布式系统的快速发展与广泛应用,针对共享资源的互斥访问也成为了很多业务必须要面对的需求,这个场景下人们通常会引入分布式锁来解决问题。我们通常会使用怎么样的分布锁服务呢?在使用分布式锁过程中,总还是会提出这样、那样的新需求,看起来找不到一个分布式锁场景的大一统的解决方案。那么,分布式锁内部究竟是怎么实现的?或者说应该怎么实现呢?这个是我们这篇文章希望探讨的。
1900 1
聊一聊分布式锁的设计模型
|
11月前
|
Java 测试技术 项目管理
maven编译本地代码的命令是什么?
【10月更文挑战第26天】maven编译本地代码的命令是什么?
417 0
|
小程序 JavaScript Java
人事|人事管理系统|基于Springboot的人事管理系统设计与实现(源码+数据库+文档)
人事|人事管理系统|基于Springboot的人事管理系统设计与实现(源码+数据库+文档)
336 1
|
数据采集 Web App开发 安全
Beautiful Soup和Requests
【5月更文挑战第7天】本文介绍了使用Python中的Requests和Beautiful Soup库创建网络爬虫的方法。Requests库简化了HTTP请求,Beautiful Soup则用于解析HTML和XML文档,便于提取信息。首先,文章解释了两个库的作用和安装步骤。接着,通过实例展示了如何提取网页标题和链接,以及如何下载并保存图片。对于动态加载的内容,文章推荐使用Selenium库模拟浏览器行为。此外,还介绍了如何处理登录认证,包括安全输入密码和从外部文件读取凭据。总结来说,本文提供了Python网络爬虫的基础知识和实用技巧。
|
安全 程序员 Python
PDF转Word,1行Python代码就够了,免费用
PDF转Word,1行Python代码就够了,免费用
300 2
|
Linux
Linux中grep命令详解与实战应用
Linux中grep命令详解与实战应用
1976 0