分布式文件系统MooseFS的部署安装

简介:
概述:
MooseFS是一种分布式文件系统,MooseFS文件系统结构包括以下四种角色:
1 管理服务器managing server (master)
2 元数据日志服务器Metalogger server(Metalogger)
3 数据存储服务器data servers (chunkservers)
4 客户机挂载使用client computers

各种角色作用:
1 管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝
2 元数据日志服务器: 负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作
3 数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输.
4 客户端: 通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,.看起来共享的文件系统和本地unix文件系统使用一样的效果.

安装环境
Master Server
master               10.0.0.141    Centos5.5(64X)

Metalogger Server
metalogger           10.0.0.142    Centos5.5(64X)

Chunk Servers
chunk01              10.0.0.143    Centos5.5(64X)
chunk02              10.0.0.144    Centos5.5(64X)

Client Server
client01              10.0.0.150    Centos5.5(64X)
client02              10.0.0.155    Centos5.5(64X)

未知对象

----------------------------------------------------
master 安装(10.0.0.141)

mkdir -p /root/tools/moosefs/
cd /root/tools/moosefs/

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

wget http://www.moosefs.org/tl_files/mfscode/mfs-1.6.20-2.tar.gz
tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
./configure \
--prefix=/elain/apps/mfs \
--sysconfdir=/elain/apps/mfs/etc \
--localstatedir=/elain/apps/mfs/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
make && make install
cd ..

cd /elain/apps/mfs/etc/
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
cp mfsexports.cfg.dist mfsexports.cfg

vi mfsexports.cfg

10.0.0.0/24             /       rw,alldirs,maproot=0

cd /elain/apps/mfs/lib/mfs
cp metadata.mfs.empty metadata.mfs

vi /etc/hosts

10.0.0.141         mfsmaster

运行mfs服务
/elain/apps/mfs/sbin/mfsmaster start

master metaloggers module: listen on *:9419
master chunkservers module: listen on *:9420
main master server module: listen on *:9421

运行监控平台
/elain/apps/mfs/sbin/mfscgiserv

starting simple cgi server (host: any , port: 9425 , rootpath: /elain/apps/mfs/share/mfscgi)

这时,可通过浏览器访问:http://10.0.0.141:9425/  查看 master 的运行情况

-----------------------------------------------------
metalogger   安装(10.0.0.142)

cd /root/tools/
/usr/sbin/groupadd -g 660 mfs
/usr/sbin/useradd -g mfs mfs -u 660 -s /sbin/nologin

wget http://www.moosefs.org/tl_files/mfscode/mfs-1.6.20-2.tar.gz
tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
./configure \
--prefix=/elain/apps/mfs \
--sysconfdir=/elain/apps/mfs/etc \
--localstatedir=/elain/apps/mfs/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
make && make install
cd ..

cd /elain/apps/mfs/etc/
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

vi /etc/hosts

10.0.0.141         mfsmaster

/elain/apps/mfs/sbin/mfsmetalogger start

----------------------------------------------------
Chunk01  安装(10.0.0.143)

cd /root/tools/

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

wget http://www.moosefs.org/tl_files/mfscode/mfs-1.6.20-2.tar.gz
tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
./configure \
--prefix=/elain/apps/mfs \
--sysconfdir=/elain/apps/mfs/etc \
--localstatedir=/elain/apps/mfs/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster
make && make install
cd ..

cd /elain/apps/mfs/etc/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg

vi /etc/hosts

10.0.0.141         mfsmaster

mkdir /data/mfschunks{1,2}
chown -R mfs:mfs /data/mfschunks{1,2}

vi /elain/apps/mfs/etc/mfshdd.cfg

/data/mfschunks1
/data/mfschunks2

/elain/apps/mfs/sbin/mfschunkserver start

-------------------------------------------------
Chunk02  安装(10.0.0.144)
cd  /root/tools/
/usr/sbin/groupadd -g 660 mfs
/usr/sbin/useradd -g mfs mfs -u 660 -s /sbin/nologin

wget http://www.moosefs.org/tl_files/mfscode/mfs-1.6.20-2.tar.gz
tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
./configure \
--prefix=/elain/apps/mfs \
--sysconfdir=/elain/apps/mfs/etc \
--localstatedir=/elain/apps/mfs/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster
make && make install
cd ..

cd /elain/apps/mfs/etc/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg

vi /etc/hosts

10.0.0.141         mfsmaster

mkdir /data/mfschunks{1,2}
chown -R mfs:mfs /data/mfschunks{1,2}

vi /elain/apps/mfs/etc/mfshdd.cfg

/data/mfschunks1
/data/mfschunks2

/elain/apps/mfs/sbin/mfschunkserver start

---------------------------------------------------------
Client01 Server安装 (10.0.0.150)

cd /root/tools/
/usr/sbin/groupadd -g 660 mfs
/usr/sbin/useradd -g mfs mfs -u 660 -s /sbin/nologin

wget http://cdnetworks-kr-2.dl.sourceforge.net/project/fuse/fuse-2.X/2.8.5/fuse-2.8.5.tar.gz
tar -zxvf fuse-2.8.5.tar.gz
cd fuse-2.8.5
./configure
make
make install
cd ..

运行以下export命令,否则挂载moosefs系统会失败

vi /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile

cd /root/tools/moosefs/
wget http://www.moosefs.org/tl_files/mfscode/mfs-1.6.20-2.tar.gz
tar -zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
./configure \
--prefix=/elain/apps/mfs \
--sysconfdir=/elain/apps/mfs/etc \
--localstatedir=/www/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--enable-mfsmount
make && make install
cd ..

vi /etc/hosts

10.0.0.141         mfsmaster

挂接操作
mkdir -p /elain/data/htdocs/elain/upload
/elain/apps/mfs/bin/mfsmount /elain/data/htdocs/elain/upload/ -H mfsmaster
umount -l /elain/data/htdocs/elain/upload

-------------------------------------------------------
Client02 Server安装 (10.0.0.155)
cd /root/tools/
/usr/sbin/groupadd -g 660 mfs
/usr/sbin/useradd -g mfs mfs -u 660 -s /sbin/nologin

wget http://cdnetworks-kr-2.dl.sourceforge.net/project/fuse/fuse-2.X/2.8.5/fuse-2.8.5.tar.gz
tar zxvf fuse-2.8.5.tar.gz
cd fuse-2.8.5
./configure
make
make install
cd ..

运行以下export命令,否则挂载moosefs系统会失败

vi /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile

#加载fuse
modprobe fuse

[root@web1 ~#]lsmod |grep fuse                                                                                            
fuse                   83057  8

wget http://www.moosefs.org/tl_files/mfscode/mfs-1.6.20-2.tar.gz
tar -zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
./configure \
--prefix=/elain/apps/mfs \
--sysconfdir=/elain/apps/mfs/etc \
--localstatedir=/elain/apps/mfs/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--enable-mfsmount
make && make install
cd ..

vi /etc/hosts

10.0.0.141         mfsmaster

挂接操作
mkdir -p /mnt/mfs
/elain/apps/mfs/bin/mfsmount /mnt/mfs -H mfsmaster

安装完毕。

停止 MooseFS
为了安全停止 MooseFS 集群,建议执行如下的步骤:

umount -l /mnt/mfs                                                  #客户端卸载MooseFS 文件系统
/elain/apps/mfs/sbin/mfschunkserver stop                            #停止 chunk server 进程
/elain/apps/mfs/sbin/mfsmetalogger stop                             #停止 metalogger 进程
/elain/apps/mfs/sbin/mfsmaster stop                                 #停止主控 master server 进程

安全的启动MooseFS集群

/elain/apps/mfs/sbin/mfsmaster start                                #启动 master 进程
/elain/apps/mfs/sbin/mfschunkserver start                           #启动 chunkserver 进程
/elain/apps/mfs/sbin/mfsmetalogger start                            #启动 metalogger 进程
/elain/apps/mfs/bin/mfsmount /mnt/mfs -H  master                    #客户端挂载 MooseFS 文件系统
 

MooseFS 命令的使用方法及参考文档:
http://www.moosefs.org/reference-guide.html#using-moosefs
http://www.moosefs.org/moosefs-faq.html

FAQ:
/elain/apps/mfs/bin/mfsmount /elain/data/htdocs/elain/upload -H master
mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root
fuse: device not found, try 'modprobe fuse' first
error in fuse_mount
答:modprobe fuse
[root@client01 ~]# lsmod |grep fuse
fuse                   83057  6

转载请注明: 转载自http://www.elain.org

本文链接地址:分布式文件系统MooseFS的部署安装



本文转自 elain2012 51CTO博客,原文链接:http://blog.51cto.com/elain/645292


相关文章
|
6月前
|
分布式计算 Java Hadoop
杨校老师课堂之分布式数据库HBase的部署和基本操作
杨校老师课堂之分布式数据库HBase的部署和基本操作
66 0
|
3月前
|
存储
cephFS高可用分布式文件系统部署指南
关于如何部署高可用的cephFS分布式文件系统,包括集群的搭建、验证高可用性以及实现两主一从架构的详细指南。
115 9
|
3月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
75 0
|
4月前
|
Java Nacos Docker
"揭秘!Docker部署Seata遇上Nacos,注册成功却报错?这些坑你不得不防!一网打尽解决秘籍,让你的分布式事务稳如老狗!"
【8月更文挑战第15天】在微服务架构中,Nacos搭配Seata确保数据一致性时,Docker部署Seata后可能出现客户端连接错误,如“can not connect to services-server”。此问题多由网络配置不当、配置文件错误或版本不兼容引起。解决策略包括:调整Docker网络设置确保可达性;检查并修正`file.conf`和`registry.conf`中的Nacos地址和端口;验证Seata与Nacos版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
341 0
|
4月前
|
存储 运维 安全
多云网络部署存在挑战,F5分布式云应用简化方案解读
多云网络部署存在挑战,F5分布式云应用简化方案解读
59 0
|
6月前
|
存储 搜索推荐 Java
微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门
微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门
85 2
|
6月前
|
SQL 分布式计算 关系型数据库
分布式系统详解 -- Hive1.2.1 安装
分布式系统详解 -- Hive1.2.1 安装
72 1
|
5月前
|
缓存 Devops 微服务
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
|
2月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
|
18天前
|
存储 NoSQL Java
使用lock4j-redis-template-spring-boot-starter实现redis分布式锁
通过使用 `lock4j-redis-template-spring-boot-starter`,我们可以轻松实现 Redis 分布式锁,从而解决分布式系统中多个实例并发访问共享资源的问题。合理配置和使用分布式锁,可以有效提高系统的稳定性和数据的一致性。希望本文对你在实际项目中使用 Redis 分布式锁有所帮助。
47 5
下一篇
DataWorks