热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

moosefs实战(含测试数据)

基于moosefs的系统架构,开源界已经有了很多成熟的案例。我们的mfs系统已经运行了一段时间,在这里给出架构图以及相关测试数据。对于moosefs不要奢求其读写速度有多快,更应该看中其设
基于moosefs的系统架构,开源界已经有了很多成熟的案例。我们的mfs系统已经运行了一段时间,在这里给出架构图以及相关测试数据。对于moosefs不要奢求其读写速度有多快,更应该看中其设计原理带给我们安全上的便利。有很多同学喜欢提及mfs的master不具备热备功能,我想说的是,任何一个应用软件其设计自身都有一定的狭义性,就如同squid与varnish,apache与nginx一样,我们要做的是如何扩展以及如何组合它们,用以达到我们系统运维的目的。
一.概述
硬件环境:2hp 380g648G内存,460G sas15K硬盘6块),11dell r7108G内存,sata 7.2K 1T磁盘共40t),5dellr6106g内存,sas15k硬盘共15块)软件环境:centos 5.4 64bit,varnish2.0.6,nginx0.8.34,moosefs 1.6.0总体架构图:简要说明:lvs将请求转发到varnish群集上面,由varnish轮询位于moosefs client上面的nginx群集,如果出现404,500等出错页面则下面的nginx自动启用,其实就是备份机的功能。client通过fuse与master通信以获取位于chunk server上面的数据。 二.安装1.安装varnish下载2.0.6版本groupadd www -g 48 && useradd -u 48 -g www www
mkdir /varnishcache
chmod +w /varnishcache/
chown -R www:www /varnishcache/
mkdir /var/varnishlog
chmod +w /var/varnishlog/
chown  -R www:www /var/varnishlog/
tar zxvf varnish-2.0.6.tar.gz
cd varnish-2.0.6
./configure --prefix=/usr/local/varnish
 make;make install
修改配置文件,这里给出我的样版(多谢kevin兄指点):2.在client上面安装nginxuseradd www
mkdir /var/nginxlog
chmod +w /var/nginxlog
chown -R www:www /var/nginxlog
wget http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-8.01.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.8.34.tar.gz
tar zxvf pcre-8.01.tar.gz
cd pcre-8.01/
./configure
make && make install
cd ../
tar zxvf nginx-0.8.34.tar.gz
cd nginx-0.8.34/
./configure --prefix=/usr/local/nginx --user=www --group=www  --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module
make;make install
cd ../
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
echo  > /usr/local/nginx/conf/nginx.conf
修改配置文件,可以暂时不把虚拟主机的root指向到mfs的挂载点
几点说明:涂黑部分是我们自己写的module,在没有决定开源之前,请大家见谅。关于nginx配置文件的解释,这里就不多说了 3.安装moosefsmoosefs安装过程大同小异,注意fuse不要安装目前的最新版,因为我遇到无法加载fuse模块的错误,不建议yum安装fuse模块。这里引用两篇篇安装mfs的教程,地址为:http://bbs1.chinaunix.net/viewthread.php?tid=1644309http://sery.blog.51cto.com/10037/263515/ 田逸大家可以去详细了解情况 安装:3.1 安装mfs master
wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.11/mfs-1.6.11.tar.gz
tar zxvf mfs-1.6.11.tar.gz
cd mfs-1.6.11
useradd mfs -s /sbin/nologin
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make
make install
cd /usr/local/mfs/etc/
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsexports.cfg.dist mfsexports.cfg
vim mfsmaster.cfg
vim mfsexports.cfg
cd ..
cd var/
mfs/
cp metadata.mfs.empty metadata.mfs
cat metadata.mfs
/usr/local/mfs/sbin/mfsmaster start
ps axu | grep mfsmaster
lsof -i
tail -f /var/log/messages

3.2 启动master服务
/usr/local/mfs/sbin/mfsmaster start
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
initializing mfsmaster modules ...
loading sessions ... ok
sessions file has been loaded
exports file has been loaded
loading metadata ...
create new empty filesystemmetadata 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

3.3. 停止master服务
/usr/local/mfs/sbin/mfsmaster -s

3.4  启动和停止web gui
启动: /usr/local/mfs/sbin/mfscgiserv
停止: kill /usr/local/mfs/sbin/mfscgiserv

3.5  相关配置文件
vim  mfsexports.cfg
192.168.28.0/24  . rw
192.168.28.0/24  /       rw

3.6 安装chunkserver
wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.11/mfs-1.6.11.tar.gz
tar zxvf mfs-1.6.11.tar.gz
cd mfs-1.6.11
useradd mfs -s /sbin/nologin
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make
make install
cd /usr/local/mfs/etc/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg


3.8 启动chunkvserver
/usr/local/mfs/sbin/mfschunkserver start
ps axu |grep mfs
tail -f /var/log/messages

3.9 停止chunksever
/usr/local/mfs/sbin/mfschunkserver stop

3.10 安装fuse
 
 Mfsmount需要依赖FUSE,因此需要先安装好fuse,这里我选用 fuse-2.7.4.tar.gz。1、解包 tar zxvf fuse-2.7.4.tar.gz2、切换目录 cd fuse-2.7.4.3、配置 ./configure4、编译安装 make;make install 1、修改环境变量文件/etc/profile ,追加下面的行,然后再执行命令source /etc/profile使修改生效。 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
3.11 安装mfsclient
wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.11/mfs-1.6.11.tar.gz
tar zxvf mfs-1.6.11.tar.gz
cd mfs-1.6.11
useradd mfs -s /sbin/nologin
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
make
make install

3.12 挂载文件系统
cd /mnt/
mkdir mfs
/usr/local/mfs/bin/mfsmount /mnt/mfs/ -H 192.168.28.242

mkdir mfsmeta
/usr/local/mfs/bin/mfsmount -m /mnt/mfsmeta/ -H 192.168.28.242
mount 查看是否挂载成功

3.13 管理命令

设置副本 的份数,推荐3份(我们实际使用了2份)
/usr/local/mfs/bin/mfssetgoal -r 3 /mnt/mfs

查看某文件
/usr/local/mfs/bin/mfsgetgoal  /mnt/mfs

查看目录信息
/usr/local/mfs/bin/mfsdirinfo -H /mnt/mfs
GUI查看mfs状态在master上面启动mfscgisrv,如果出现错误则查看端口是否被占用以及升级python版本尝试解决在浏览器中输入http://masterip:9452 查看汇总状况
 四.我们的测试数据1.我们的使用数据 2.测试数据对比2.1 单client读性能2.2 单client写性能与本机对比2.3 单client写性能与本机对比22.4 两台client读性能2.5 两台client写性能2.6 四台client写性能3.小结我们可以看到mfs的读写性能与本机对比有很大差距,随着client数目的增加,读写性能都呈现很快的下降趋势。我们现在是5台client同时工作,读写性能并不高,满足搜索业务的需求尚可。另外,我这不还有一些测试数据就不一一粘上来了,有需要查看的联系我好了hdparm,sar,iostat,iozone结果截图 

本文出自 “山岳不知” 博客,请务必保留此出处http://alice.blog.51cto.com/707092/324390


推荐阅读
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
  • pc电脑如何投屏到电视?DLNA主要步骤通过DLNA连接,使用WindowsMediaPlayer的流媒体播放举例:电脑和电视机都是连接的 ... [详细]
  • tomcat的log文件夹下有以下几种日志:1、catalina.YYYY-MM-DD.logcatalina引擎输出的日志;catalina是tomc ... [详细]
  • win7中go语言的安装方法
    小编给大家分享一下win7中go语言的安装方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • 怎么查看linux日志里请求量最高的url访问最多的_40道Linux运维面试精华题,请收下这份跳槽秘籍!...
    过一次年,结婚、存款、父母养老,一系列向钱看的事都在碾压我们本来还挺简单的神经,但难过没有出路,唯有找到好的方法和事业方向& ... [详细]
  • 流量拷贝gor
    2019独角兽企业重金招聘Python工程师标准常见的Web应用的压力测试工具Web应用压力测试工具有很多,比如Apacheab,node-ab& ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Android跨进程通信IPC之9——Binder通信机制
    移步系列Android跨进程通信IPC系列1Android整体架构Android系统架构及系统源码目录Android系统架构 ... [详细]
author-avatar
Simon_Diego
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有