mogileFS安装配置_第1页
mogileFS安装配置_第2页
mogileFS安装配置_第3页
mogileFS安装配置_第4页
mogileFS安装配置_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、mogileFS安装配置mogileFS安装配置 2011年09月30日一、【理论知识】 MogileFS 是一个分布式文件存储的解决方案,它能够做到不需要特殊的核心组件、无单点失败、自动的文件复制、比RAID好多了、传输中立,无特殊协议(客户端可以通过NFS或 来和MogileFS通信)、简单的命名空间、不用共享任何东西、不需要RAID、不会碰到文件系统本身的不可知情况 等等优点。 相关知识和安装方面的问题可以去看官方的wiki: :/mogilefs.pbwiki /。(有可能被GFW了,请使用代理或者安装一个Firefox的gladder插件来访问) Mogilefs分为几部分 1. 数

2、据库(MySQL)部分 你可以用mogdbsetup程序来初始化数据库。数据库保存了Mogilefs的所有元数据,你可以单独拿数据库服务器来做,也可以跟其他程序跑在一起,数据库部分非常重要,类似邮件系统的认证中心那么重要,如果这儿挂了,那么整个Mogilefs将处于不可用状态。因此最好是HA结构。 2. 存储节点 mogstored程序的启动将使本机成为一个存储节点。启动时默认去读/etc/mogilefs/mogstored.conf ,具体配置可以参考配置部分。mogstored启动后,便可以通过mogadm增加这台机器到cluster中。一台机器可以只运行一个 mogstored作为存储

3、节点即可,也可以同时运行其他程序。 3. trackers(跟踪器) mogilefsd即trackers程序,类似mogilefs的wiki上介绍的,trackers做了很多工作,Replication ,Deletion,Query,Reaper,Monitor等等。mogadm,mogtool的所有操作都要跟trackers打交道,Client的一些操作也需要定义好trackers,因此最好同时运行多个trackers来做负载均衡。trackers也可以只运行在一台机器上,也可以跟其他程序运行在一起,只要你配置好他的配置文件即可,默认在/etc/mogilefs/mogilefsd.co

4、nf。 4. 工具 主要就是mogadm,mogtool这两个工具了,用来在命令行下控制整个mogilefs系统以及查看状态等等。 5. Client Client实际上是一个Perl的pm,可以写程序调用该pm来使用mogilefs系统,对整个系统进行读写操作。 概念定义 可以参考官方wiki的这儿,简单说一下 domain:最高域,在一个域下key是唯一的。 class:包含在domain中,可以针对每一个class定义保存的份数。 key:对文件的唯一标识。 file:文件。 适用性 由于Mogilefs不支持对一个文件的随机读写,因此注定了只适合做一部分应用。比如图片服务,静态HTML

5、服务。 即文件写入后基本上不需要修改的应用,当然你也可以生成一个新的文件覆盖上去。 二、【安装Perl和相关包】 安装环境 操作系统:RHEL 4 (AS 4) Perl版本:Perl v5.8.8 注意:请确保你的Perl版本为大于 v5.8.8,不然可能安装会有问题,另外,本文所有操作都是在一台机器上完成,可能多台机器上稍微有些不同,请自行调整 MySQL 安装前请安装好MySQL,如果MySQL Server和MogileFS不是一台机器,请在MogileFS机器安装好MySQL Client,本文假设MySQL Client安装在:/usr/local/mysql 目录,安装完客户端后

6、请建立一个软链接: ln -s /usr/local/mysql/lib/libmysqlclient.so.15 /usr/lib/libmysqlclient.so.15 Perl包安装 因为MogileFS需要使用很多相关的Perl包,请逐一按照一下次序安装,本文采用的是比较笨,比较简单的安装方法,逐个把包下载回来本机手工安装,没有使用cpan的包安装方式。 要下载包,请在 :/中输入包名,然后下载,一般提供的是最新版,如果版本跟下面不一致,请以最新版为准。 为方便使用,本文包下载地址列表:(不保证您阅读本文的时候有效) 包安装次序:(务必按照本次序进行)

7、BSD-Resource-1.2901.tar.gz Sys-Syscall-0.22.tar.gz Time-HiRes-1.9715.tar.gz Danga-Socket-1.57.tar.gz Net-Netmask-1.9015.tar.gz IO-AIO-3.07tar.gz (本包要求Perl v5.8.8以上) Perlbal-1.71.tar.gz String-CRC32-1.4.tar.gz Gearman-1.07.tar.gz Gearman-Client-Async-0.93.tar.gz Gearman-Server-1.08.tar.gz #make test

8、有可能会有一个错误,不用管它 DBI-1.607.tar.gz DBD-mysql-4.008.tar.gz #以下命令假设MySQL服务器是在本机 perl Makefile.PL testhost=localhost testuser=root mysql_config=/usr/local/mysql/bin/mysql_config IO-Compress-Base-2.015.tar.gz IO-Compress-Zlib-2.015.tar.gz Compress-Raw-Zlib-2.015.tar.gz Compress-Zlib-2.015.tar.gz IO-stringy

9、-2.110.tar.gz MogileFS-Client-1.08.tar.gz mogilefs-server-2.20.tar.gz MogileFS-Utils-2.13.tar.gz 一定要按以上顺序安装,解压缩,生成Makefile,测试,安装 这样的步骤来执行,命令是: # tar zxvf xxxxx.tar.gz # cd xxxxx # perl Makefile.PL # make # make test # make install 这样就安装成功了,注意make test的错误提示,如果不是很严重的错误提示,基本可以忽略继续下一步。 三、【配置MogileFS】 以下

10、操作除非明确指定,不然是以root用户来运行,当然,你也可以使用自己的帐户来执行(除了一些特权操作),另外 8 是本机IP,本试验只使用了一台机器。如果配置过程不太顺利,请反复检查后反复试验。 1. 创建数据库(初始化) 可以预先在数据库服务器上建立好一个叫做 mogilefs 的数据库,便于进行下面的步骤. #mogdbsetup -dbhost=8 -dbname=mogilefs -dbuser=root -dbhost 是数据库主机地址, -dbname是数据库名,-dbuser是访问该数据库的用户,如果有密码请加上-dbpass选项,最好访问数据库

11、的是超级用户root或者具有很高权限的新建数据库用户,因为MogileFS需要一些比较高权限的初始化操作。 2. tracker配置 新建tracker配置文件 /etc/mogilefsd.conf ,写入以下文件内容:(请去掉#后面的注意信息) db_dsn DBI:mysql:mogilefs #数据库配置 db_user mogile #数据库用户 db_pass 123123 #数据库密码 conf_port 6001 #tracker端口 listener_jobs 5 db_dsn指向的是你数据库的位置,如果你数据库不在同一个机器上,请改为: db_dsn DBI:mysql:m

12、ogilefs: 由于mogilefsd不能用root用户启动.所以添加mogile用户 # adduser mogile 在配置下面以前先启动 trackers server # su mogile # mogilefsd -c /etc/mogilefsd.conf -daemon 3. Storage Server 配置 说明:以下命令假设你的 Perl 的包文件都在 /usr/lib/perl5/5.8.8 目录,如果不是,请自行修改。 用mogadm工具将storage server加到数据库中: # mogadm -lib=/usr/lib/perl5/5.8.8

13、 -trackers=8:6001 host add mogilestorage -ip=8 -port=7500 -status=alive (由于本文是在一台机器上配,故trackers的地址和ip地址是一样的) 用下面命令来检测是否成功: # mogadm -lib=/usr/lib/perl5/5.8.8 -trackers=8:6001 host list 加入一个设备到你的storage server: # mogadm -lib=/usr/lib/perl5/5.8.8 -trackers=8:6001 de

14、vice add mogilestorage 1 用下面命令来检测是否成功: # mogadm -lib=/usr/lib/perl5/5.8.8 -trackers=8:6001 device list Device ID 是唯一的,一旦创建将无法删除,只能mark为dead. 所以,如果你某个磁盘坏了,你mark为dead, 后来又修好了, 那么你必须重新格式化并命名为新的device id, 不支持将device从dead变为alive. 新建Storage配置文件: /etc/mogstored.conf 内容是: (请去掉#后面的注意信息) listen=0.0.0

15、.0:7500 # 监听端口 mgmtlisten=:7501 #MongileFS监听端口 docroot=/opt/mogdata #数据存储物理路径 建立存放数据的路径:(必须使用root权限才能创建) # mkdir -p /opt/mogdata/dev1 说明:mogadm 参数的用法请参考 ://dormando/MogileFS-Utils/mo gadm 4. 运行MogileFS 启动 Storage Server # mogstored -c /etc/mogstored.conf -daemon 如果没有启动Trackers,

16、请启动 Trackers # su mogile $ mogilefsd -c /etc/mogilefsd.conf -daemon 查看你所有的服务都起来没有 # ps -ef | grep mogilefsd # ps -ef | grep mogstored 四、【MogileFS使用测试】 生成domain # mogadm -lib=/usr/lib/perl5/5.8.8 -trackers=8:6001 domain add testdomain 加一个 class 到domain # mogadm -lib=/usr/lib/perl5/5.8.8 -tra

17、ckers=8:6001 class add testdomain testclass 写一个perl文件试一下test.pl 1. #= 2. use MogileFS:Client; 3. my $mogfs = MogileFS:Client->new(domain=>'testdomain', hosts=>'84:6001', root=>'/home/xiehl/mogdata',); 4. my $fh = $mogfs->new_file("file_ke

18、y", "testclass"); 5. die $fh unless $fh->print($mogfs->readonly); 6. my $content = "file.txt" 7. num = $mogfs->store_content("file_key","testclass",$conte nt); 8. print "num n" 9. my $file_contents = $mogfs->get_file_data("file_

19、key"); 10. print "$file_contents n" 11. #$mogfs->delete("file_key"); 12. $fh->print($file_contents); 13. urls = $mogfs->get_paths("file_key"); 14. print "urls n" 15. #= 执行脚本 # perl test.pl 本文返回的内容是:(可能你返回的内容会不同,格式类似就行) 8 SCALAR(0×9ddaaa8) :/8:7500/dev1/0/000/000/0000000008.f id 在浏览器里输入: :/8:7500/dev1/0/000/000/0000000008.f id,将会看到输出: file.txt 能够访问我们存储的数据,配置成功! 五、【附加内容】 MySQL检测代码 如果需要检测你的DBI和MySQL Client是否安装正常,可以使用一下数据库测试代码来检测能否正常连接到MySQL: 1. #= 2. #!/usr/bin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论