moosefs mysql_moosefs搭建与应用

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359392.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Audio Offload

Audio Offload 音频分载,是系统将音频分载到声卡硬件进行分载处理的功能。从Windows 8开始,音频的硬件加速和分载处理又回来了。为什么说又回来了呢? 因为声卡自创通公司发明开始,相当长一段时间都是由声卡独立完成所有音频处理的…

mysql数据库迁徙_mysql数据迁徙详解

数据迁徙是每个后端都会遇到的工作之一&#xff0c;本文介绍了一些常见的数据迁徙方法与工具mysqldump&#xff1a;数据结构不变的数据迁徙导出数据 mysqldump -u root -p DATABASE_NAME table_name > dump.sql恢复数据 mysql -u root -p DATABESE_NAME < dump.sql或者连…

junit-4.9.jar_JUnit 4.9(测试版3)中的规则

junit-4.9.jar不久前&#xff0c; David Saff宣布了JUnit 4.9的beta版 。 因此&#xff0c;我认为现在是研究该版本中的新增功能的好时机。 JUnit领域中最有用的创新之一是Rule。 我在这里写了有关规则的文章 。 我在这里写了有关JUnit规则的用例 。 规则很棒。 借助JUnit 4.9&…

封装js千分位加逗号和删除逗号

//封装js千分位加逗号和删除逗号alert( format(2545678754.020001) ) //2,545,678,754.03alert( format(-2545678754.020001) ) //-2,545,678,754.02alert( format(2545678754.000000000009) ); //当值很长的时候会出现数字被截取的问题alert( delformat(2,545,678,75…

java集成_Java继承

一.继承1.简介&#xff1a;特点&#xff1a;利于代码复用&#xff1b;缩短开发周期。注&#xff1a;子类不能直接访问父类的私有属性满足“A is a B”的关系就可以形成继承关系例&#xff1a;父类&#xff1a;1 packagecom.swpu.animals;23 public classAnimal {4 //属性5 priv…

查找任意数目参数的最大值

查找任意数目参数的最大值 原文:查找任意数目参数的最大值《C和指针》第7章第4道编程题&#xff1a; 编写一个名叫max_list的函数&#xff0c;它用于检查任意数目的整型参数并返回它们中的最大值。参数列表必须以一个负值结尾&#xff0c;提示列表的结束。 1 /*2 ** 查找任意数…

如何以大数据的JAX-RS响应的形式将JPA结果流化/序列化

有时&#xff0c;有必要通过JPA检索大型数据集&#xff08;例如&#xff0c;超过1,000,000条记录&#xff09;&#xff0c;并将它们填充到java.util.List的单个实例中是有风险的&#xff08;内存障碍&#xff09;。 因此&#xff0c;这是一个快速的解决方案&#xff0c;它可以解…

Tab标签页接口---使用Intent对象

TabHost tabHost getTabHost();Intent it new Intent();it.setClass(Main.this, DateTimePicker.class);TabSpec spectabHost.newTabSpec("tab1");spec.setContent(it);spec.setIndicator("ら戳㎝丁",getResources().getDrawable(android.R.drawable.i…

java猜数字小游戏_Java实现简单猜数字小游戏

本文实例为大家分享了Java实现猜数字游戏的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下完成猜数字游戏需要实现以下几点&#xff1a;获得一个随机数作为“答案数”&#xff1b; 输入数字&#xff0c;与“答案数”作比较(判断大了&#xff0c;小了&#xff0c;相等…

要看的东西

udp发送、接受 tcp 客户端 服务端 http&#xff08;servlet&#xff09; http post http get web service cookies session 多线程 io流 集合list set map&#xff1a;循环、迭代器 jmeter、soapui、webdriver、python转载于:https://www.cnblogs.com/stay-sober/p/4158837.h…

简单的基准测试:不可变集合VS持久集合

通常&#xff0c;您需要向集合中添加新元素。 因为您是一个优秀而谨慎的开发人员&#xff0c;所以您希望尽可能保持不变。 因此&#xff0c;向不可变集合中添加新元素将意味着您必须创建一个新的不可变集合&#xff0c;其中包含原始集合的所有元素以及新元素。 您可以使用gua…

java list 合并去重_java 怎么把多个list 合并成一个去掉重复的

展开全部示例代码636f707962616964757a686964616f31333361313838:public static void main(String[] args){List list1 new ArrayList();list1.add(1);list1.add(2);list1.add(3);list1.add(4);List list2 new ArrayList();list2.add(1);list2.add(4);list2.add(7);list2.add…

UITextField实现左侧空出一定的边距

就是通过uitextfield的leftview来实现的&#xff0c;同时要设置leftviewmode。 如果设置左右边距&#xff0c;需要再加上rightView功能 -(void)setTextFieldLeftPadding:(UITextField *)textField forWidth:(CGFloat)leftWidth {CGRect frame textField.frame;frame.size.widt…

java软件工程师 英文简历_2017java程序员英文简历范文

2017java程序员英文简历范文简历写完以后&#xff0c;再检查一下你的简历是否回答了以下问题&#xff1a;它是否清楚并能够让雇主尽快知道你的能力?是否写清了你的能力?是否写清了你要求这份工作的.基础?有东西可删除吗?尽力完善你的简历直到最好。2017java程序员英文简历范…

写给java web一年左右工作经验的人

摘要 大学就开始学习web&#xff0c;磕磕绊绊一路走过来&#xff0c;当中得到过开源社区很多的帮助&#xff0c;总结了这些年来的技术积累&#xff0c;回馈给开源社区。 ps&#xff1a;图片都是从网上盗。。。感谢原作者。 ps&#xff1a;文字千真万确都是我自己写的。 在此&am…

FlexyPool如何支持Dropwizard Metrics包重命名

介绍 FlexyPool严重依赖Dropwizard &#xff08;以前是Codahale&#xff09;度量标准来监视连接池的使用情况 。 集成到Dropwizard中后&#xff0c;程序包名称必然会被重命名 。 因此&#xff0c;4.0.0版本将使用io.dropwizard.metrics软件包名称代替com.codahale.metrics 。 …

java网络编程与分布式计算_Java网络编程与分布式计算

基本信息书名:Java网络编程与分布式计算定价&#xff1a;38.00元作者:[澳]赖利出版社&#xff1a;机械工业出版社出版日期&#xff1a;2003-03-00ISBN&#xff1a;9787111115786字数&#xff1a;页码&#xff1a;版次&#xff1a;装帧&#xff1a;开本&#xff1a;编辑推荐内容…

java ref 应用类型_Java四种引用类型

Java四种引用类型在java中&#xff0c;类型就分为两种&#xff0c;基本类型和引用类型或自定义类型。引用类型又分为四种&#xff1a;强引用 StrongReference软引用 SoftReference若引用 WeakReference虚引用 PhantomReference划分这些类型的目的是&#xff1a;是为了更灵活的管…

嵌入式Linux学习笔记

一 嵌入式系统定义&#xff1a; 应用于特定环境的硬件体系。 二 两样非常重要的能力&#xff1a; 1. 掌握各种新概念的能力 2. 调试的能力( 包括软件, 硬件 ) 三 需要的基础知识&#xff1a; 1. 操作系统理论基础 2. 数据结构 3. C,C编程语言 4. 汇编语言 5. Linux基…

java string 内存占用_JVM系列之:String,数组和集合类的内存占用大小

简介之前的文章中&#xff0c;我们使用JOL工具简单的分析过String,数组和集合类的内存占用情况&#xff0c;这里再做一次更详细的分析和介绍&#xff0c;希望大家后面再遇到OOM问题的时候不再抱头痛哭&#xff0c;而是可以有章可循&#xff0c;开始吧。数组先看下JOL的代码和输…