- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用Mogilefs做海量图片的分布式存储 安装配置
使用Mogilefs做海量图片的分布式存储 安装配置
使用Mogilefs做海量图片的分布式存储(安装配置篇)2010-11-17 11:18
由于网上对于Mogilefs的介绍相对较少,官方文档也不够详细,中文就更只有为数不多的几篇可以看看;另一个方面也是受到飞速xx的强烈的多次的约稿,因此决定花一定时间和精力来好好整理一下我这段时间对于Mogilefs的理解及使用。
因此本文会尽量详细的阐述Mogilefs的各方面,从架构设计-安装-配置,配置及优化准备再下一篇文章中涉及。
简要介绍:
具体的优点可以查看官方网站上的首页介绍,我就不罗嗦了但还是想指出以下几点:
只适合于存储图片或者其他基本不做变更的静态文件。具体原因下面会做具体说明。省钱。比起NetApp剩下至少80%以上,并且在性能和数据安全性方面并没有太大差别。如果想要替换现有架构的话需要做程序上面的修改,读取写入都需要通过特定的API来完成,无法做到透明切换,不过总体上还是非常简单的。架构设计:
既然是分布式存储系统,并且要做到足够的安全和性能最大化,那么每种不同的应用至少需要2台服务器,也就是至少需要6台服务器。其中数据库2台,Tracker服务器2台,Storage服务器2台。如果仅仅是为了测试,那甚至1台也能将所有环境搭建起来并使用,但是没法做到可靠性测试,因此建议测试的话也至少用2台服务器。这里的架构是以现在我使用的为例,存储对象在千万-数亿级别,不一定是最佳的,但足够靠谱。
数据库2台,主从模式,内存建议32G以上,CPU建议8核:
存储namespace及记录文件存储在那些storage服务器上。记录domain,class等信息记录文件的份数Tracker服务器CPU建议8核甚至16核,这样对于不同的jobs可以开多个线程了:
Replication:复制管理Deletion:删除管理Query:查询管理Reaper:对于写入失败重新写入Monitor:监控主机及磁盘Storage/Client可以复用,CPU2核即可,内存8G以上。主要说明一下硬盘:系统可以用2块小硬盘做Raid1,其他存储盘不用做Raid,现在的2U服务器可以最多插12块甚至更多,因此完全可以插满来使用。因为对于一台host来说可以拥有多个disk,如果后面10块做Raid5的话是非常浪费的,因为对于Mogilefs来说,每个class可以指定文件存放的份数,系统会自动完成复制工作,如果对于一个class指定默认的2份的话,这两份必然会存到不同的host,而不会发生存到一个host的2块disk上面,因此不比担心如果一台storage坏了会发生丢失文件的情况发生。
简单的说明一下写入的过程:
client通过api要求写入一个文件tracker服务器会告诉client写到哪个storage的哪个device上client写入完成之后会通知tracker服务器写入完成并且写了多少字节tracker开始复制文件安装:
OS:Centos5.5
下载:推荐使用svn来获取必威体育精装版的代码
$mkdir mogilefs-src
$cd mogilefs-src
$svn checkout Server:推荐使用Mysql。当然也支持其他数据库。数据库安装略,最简单的通过rpm安装,安装完成之后执行数据库的权限设置,这里沿用官方的命令,可以根据需要更改用户名密码:
mysql CREATE DATABASE mogilefs;
mysql GRANT ALL ON mogilefs.*TOmogile@%;
mysql SET PASSWORD FORmogile@%=OLD_PASSWORDsekrit;
mysql FLUSH PRIVILEGES;
mysql quit待会还需要通过命令来导入表结构,暂时数据库安装完成。
Tracker Server、Storage、及Client:这些都可以安装同样的软件包,都是Perl的module,因此需要安装不少东西,但总体算比较简单。
#yum install perl-DBI perl-DBD-MySQL perl-Compress-Zlib perl-libwww-perl-y
#tar zxf BSD-Resource-1.2904.tar.gz
#cd BSD-Resource
#perl Makefile.PLmakemake testmake install剩下的都一样安装方式:
Sys-Syscall-0.23.tar.gz Danga-Socket-1.61 Net-Netmask-1.9015.tar.gz common-sense-3.0.tar.gz IO-AIO-3.65.tar.gz IO-stringy-2.110.t
文档评论(0)