呃,装个玩意儿走了好多弯路,以为依赖太多的包河模块,搞了很久.
后来发现其实安装可以简化的,yum没有mogilefs,可以通过epel来安装.
第一种安装方法,用epel
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
# yum -y install mogilefsd perl-MogileFS-Client perl-MogileFS-Utils
# yum -y install mogstored mogstored-backend-perlbal mogstored-backend-lighttpd mogstored-backend-apache perl-MogileFS-Client perl-MogileFS-Utils
如果后面报错找不到AIO则需补充安装AIO
# cpan
# cpan> install IO::AIO
______________________________________________________________
第二重安装方法,用cpan
# cpan
# cpan> install IO::AIO
# cpan> install DBI
# cpan> install DBD::mysql
# cpan> install MogileFS::Server
install Gearman::Client
install Gearman::Server
install Sys::Syscall
install Perlbal
install Net::Netmask
install Danga::Socket
install Gearman::Client::Async
# cpan> install MogileFS::Utils
install MogileFS::Client
______________________________________________________________
第三种方法是传统的一个个依赖包的装的办法:
这种方法比较烦人,就不说了,都是泪啊```研究的我手都抽筋了
______________________________________________________________
下面说说配置:
搞清楚原理后其实配置起来还是蛮容易的.
第一步,初始化数据库
# mogdbsetup --dbhost=127.0.0.1 --dbname=mogilefs --dbuser=mogilefs --dbpass=jongin
第二步,新建tracker配置文件
# vim /etc/mogilefsd.conf
db_dsn DBI:mysql:mogilefs:127.0.0.1
db_user mogilefs
db_pass jongin
conf_port 6001
listener_jobs 5
第三步,启动trackers.
# adduser mogile
# su mogile
# mogilefsd -c /etc/mogilefsd.conf --daemon
第四步,初始化storage server数据
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=222.191.251.xx:6001 host add mogilestorage --ip=222.191.251.xx--port=7500 --status=alive
检测是否生效:
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=222.191.251.xx:6001 host list
添加设备到storage server
# mogadm -lib=/usr/lib/perl5/5.8.8 -trackers=222.191.251.xx:6001 device add mogilestorage 1
检测是否生效:
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=222.191.251.xx:6001 device list
第五步,新建Storage配置文件
# vim /etc/mogstored.conf
httplisten=0.0.0.0:7500
mgmtlisten=0.0.0.0:7501
docroot=/data/mdata
建立存储目录-> mkdir -p /data/mdata/dev1
第六步,运行MogileFS
# mogstored -c /etc/mogstored.conf --daemon
查看你所有的服务都起来没有
# ps -ef | grep mogilefsd
# ps -ef | grep mogstored
第七部,测试运行
生成domain
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=222.191.251.xx:6001 domain add icv.cn
加一个 class 到domain
# mogadm --lib=/usr/lib/perl5/5.8.8 --trackers=222.191.251.xx:6001 class add icv.cn type1
1.安装php-mogileFS 扩展
参考,http://projects.usrportage.de/index.fcgi/php-mogilefs
2.写测试文件
<?php
$client->connect('222.191.251.xxx, 6001, 'jongin.com');
$client->put('http://www.baidu.com/img/logo-yy.gif', 'myFile', 'type1');
$metadata = $client->get('myFile');
print_r($metadata);
$content = file_get_contents($metadata['path1']);
echo $content;
?>