概述目录 一、MogileFS 介绍 1.1、环境 二、MogileFS
安装 2.1、Mysql安装 2.2、安装MogileFS 相关Perl模块 2.3、MogileFS Server 安装 2.4、MogileFS Storage 存储节点安装 三、MogileFS
配置 3.1、mysql数据库设置 3.2、创建mysql连接 3.3、创建Tracker配置文件 3.4、MogileFS 启
目录 一、mogileFS 介绍 1.1、环境 二、mogileFS 安装 2.1、MysqL安装 2.2、安装mogileFS 相关Perl模块 2.3、mogileFS Server 安装 2.4、mogileFS Storage 存储节点安装 三、mogileFS 配置 3.1、MysqL数据库设置 3.2、创建MysqL连接 3.3、创建Tracker配置文件 3.4、mogileFS 启动与停止 3.5、mogileFS Storage 节点配置 3.6、启动mogileFS Storage 节点 四、管理配置mogileFS 4.1、添加Storeage节点到Tracker 4.2、在存储节点中添加设备 4.3、在存储节点中使设备失效 4.4、添加域和类 4.5、查看域和tracker节点 4.6、mogadm 详细参数 五、mogileFS PHP扩展模块 5.1、安装mogileFS PHP扩展 5.2、添加mogileFS PHP模块 5.3、mogileFS 客户端 API 调用资料 六、mogileFS Nginx 模块安装 6.1、下载Nginx_mogilefs_module 6.2、添加Nginx_mogilefs_module模块 6.3、配置Nginx_mogilefs_module 模块 七、mogtool 工具创建文件和读取文件内容 7.1、创建文件 7.2、读取文件 八、FUSE API 挂载 mogileFS文件系统 8.1、安装 *** 作系统相应fuse支持 8.2、安装Perl Fuse支持 8.3、Mount mogileFS文件系统 8.4、查看mogileFS系统文件 九、mogileFS参考资料
一、MogileFS 介绍 mogileFS 是一个开源的分布式文件系统,用于组建分布式文件集群,由 liveJournal 旗下 Danga Interactive 公司开发, Danga 团队开发了包括 Memcached 、 mogileFS 、 Perlbal 等不错的开源项目: ( 注: Perlbal 是一个强大的 Perl 写的反向代理服务器 ) 。目前国内使用 mogileFS 的有图片托管网站 yupoo 等。 官方的介绍网站: http://www.danga.com/mogilefs/ Google Code 上的信息 http://code.google.com/p/mogilefs/ 详细内容请见 : http://www.tech-q.cn/thread-12293-1-1.html 1.1、环境 mogileFS 相关服务器 | IP | 系统 |
Tracker ( 调度器 ) | 192.168.0.11 | Centos 5.5 x32 |
Storage Nodes 1 ( 存储节点 1) | 192.168.0.22 | Centos 5.5 x32 |
Storage Nodes 2 ( 存储节点 2) | 192.168.0.33 | Centos 5.5 x32 |
MysqL | 192.168.0.44 | Centos 5.5 x32 | |
2.1、MysqL安装 请参考 http://www.chinasa.net/archives/17/ 2.2、安装mogileFS 相关Perl模块 首先要安装 perl # yum install perl 以下 Perl 模块均可使用以下命令进行安装 , 如安装 Sys::Syscall 模块。 # cpan –I Sys::Syscall Sys::Syscall Danga::socket BSD::Resource common::sense IO::AIO @H_223_403@
Perlbal ExtUtils::MakeMaker Test::Simple DBI Net::Netmask IO::WrapTIE MogileFS::Client DBD::mysql mogileFS::Utils Gearman::Client Gearman::server 注 : 存储节点服务器不用安装 DBD::mysql 模块 以上 Perl 模块也可到 http://search.cpan.org/ 网站上下载安装,如安装 Sys::Syscall 模块。 # wget http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.23.tar.gz # tar zxvf Sys-Syscall-0.23.tar.gz # cd Sys-Syscall-0.23 # perl Makefile.PL # make # make install 2.3、mogileFS Server 安装 # wget http://search.cpan.org/CPAN/authors/id/D/DO/DORMANDO/MogileFS-Server-2.44.tar.gz # tar zxvf mogileFS-Server-2.44.tar.gz # cd mogileFS-Server-2.44 # perl Makefile.PL # make # make install 2.4、mogileFS Storage 存储节点安装 参考 2.2 、 2.3 。 DBD::mysql 可不用安装 三、MogileFS 配置 3.1、MysqL数据库设置 MysqL> create database mogilefs; MysqL> grant all on mogilefs.* to 'mogile'@'%' IDentifIEd '000000' MysqL> flush privileges; 3.2、创建MysqL连接 # /usr/lib/mogdbsetup --dbhost=192.168.0.144 --dbname=mogilefs --dbuser=mogile --dbpassword=000000 3.3、创建Tracker配置文件 # vi /etc/moglIEfs/mogilefsd.conf 内容如下: db_dsn = DBI:MysqL:mogilefs:host=192.168.0.144;port=3306;MysqL_connect_timeout=5 db_user = mogile db_pass = 000000 conf_port = 7001 Listener_jobs = 5 node_timeout = 5 rebalance_ignore_missing = 1 3.4、mogileFS 启动与停止 由于 mogilefs 不能以 root 用户运行 , 创建 mogile 用户 # Useradd mogile –s /sbin/nologin # su mogile –c “mogilefsd -c /etc/mogilefs/mogilefsd.conf --daemon” 使用 pkill mogilefsd 来停止 mogilefs 服务 3.5、mogileFS Storage 节点配置 创建 Storage 配置文件 vi /etc/mogilefs/mogstored.conf 内容如下 : httpListen=0.0.0.0:7500 mgmtListen=0.0.0.0:7501 docroot=/data/mogdata 3.6、启动mogileFS Storage 节点 mogstored –daemon 使用 pkill mogstored 来停止 mogstored 服务 四、管理配置MogileFS 4.1、添加Storeage节点到Tracker # mogadm --trackers=192.168.0.11:7001 host add mog_store_22 --ip= 192.168.0.22 --port=7500 --status=alive 4.2、在存储节点中添加设备 # mogadm --trackers=192.168.0.11:7001 device add mog_store_22 101 在 /data/mogdata/ 目录中创建 dev201 文件夹 4.3、在存储节点中使设备失效 # mogadm device mark mog_store_22 dev101 dead 4.4、添加域和类 添加 image 域 # mogadm domain add image 在 image 域中添加 upload 类 存储份数为 2 # mogadm class add image upload –mindevcount=2 4.5、查看域和tracker节点 # mogadm domain List domain class mindevcount replpolicy -------------------- -------------------- ------------- --------------------------------------------------------- image default 2 MultipleHosts() image upload 2 MultipleHosts() # mogadm –trackers=192.168.0.11:7001 check Checking trackers... 127.0.0.1:7001 ... OK Checking hosts... [ 1] mog_store_22 ... OK [ 2] mog_store_33 ... OK Checking devices... host device size(G) used(G) free(G) use% ob state I/O% ---- ------------ ---------- ---------- ---------- ------ ---------- ----- [ 1] dev101 17.354 9.753 7.601 56.20% writeable 0.0 [ 2] dev201 13.456 1.491 11.965 11.08% writeable 0.0 [ 2] dev202 8.973 2.550 6.423 28.42% writeable 0.0 ---- ------------ ---------- ---------- ---------- ------ total: 39.782 13.794 25.988 34.67% 4.6、mogadm 详细参数 # mogadm Usage: (enter any command prefix,leaving off options,for further help) mogadm check Check the state of the mogileFS world. mogadm stats Show mogileFS system statistics. (DEPRECIATED: use mogstats instead) mogadm host ... host add ... Add a host to mogileFS. host delete ... Delete a host. host List List all hosts. host mark ... Change the status of a host. (equivalent to 'modify --status') host modify ... Modify a host's propertIEs. mogadm device ... device add ... Add a device to a host. device List ... List all devices,for each host. device mark ... Mark a device as {alive,dead,down,drain,Readonly} device modify ... Modify a device's propertIEs. device summary ... List the summary of devices,for each host. mogadm domain ... domain add ... Add a domain (namespace) domain delete ... Delete a domain. domain List List all hosts. mogadm class ... class add ... Add a file class to a domain. class delete ... Delete a file class from a domain. class List List all classes,for each domain. class modify ... Modify propertIEs of a file class. mogadm slave ... slave add ... Add a slave node for store usage slave delete ... Delete a slave node for store usage slave List List current store slave nodes. slave modify ... Modify a slave node for store usage mogadm fsck ... fsck clearlog Clear the fsck log fsck printlog display the fsck log fsck reset ... reset fsck position back to the beginning fsck start Start (or resume) background fsck fsck status Show fsck status fsck stop Stop (pause) background fsck fsck taillog Tail the fsck log mogadm settings ... settings List List all server settings settings set ... Set server setting 'key' to 'value' 五、MogileFS PHP扩展模块 5.1、安装mogileFS PHP扩展 # svn checkout http://svn.usrportage.de/php-mogilefs/trunk # cd trunk # PHPize # ../configure --with-PHP-config=/opt/PHP/bin/PHP-config # make # make install 5.2、添加mogileFS PHP模块 修改 /opt/PHP/etc/PHP.ini 配置文件,添加以下内容: extension=mogilefs.so 重启 web 服务器 , 使用 PHPinfo() 函数可看见 mogilefs 已经被加载,如下图所示: 5.3 、mogileFS 客户端 API 调用资料 JAVA –http://github.com/eml/java-mogilefs Ruby – http://seattlerb.rubyforge.org/mogilefs-clIEnt/ PHP – http://projects.usrportage.de/index.fcgi/PHP-mogilefs Python – http://www.albany.edu/~ja6447/mogilefs.py 六、MogileFS Nginx 模块安装 安装了 Nginx_mogilefs_module 可使用 Nginx 直接读取 mogilefs 文件系统里的文件。 配置文档请看 : http://www.grid.net.ru/nginx/mogilefs.en.html 6.1、下载Nginx_mogilefs_module # wget http://www.grid.net.ru/nginx/download/nginx_mogilefs_module-1.0.4.tar.gz 6.2、添加Nginx_mogilefs_module模块 # tar zxvf Nginx_mogilefs_module-1.0.4.tar.gz # ./configure --prefix=/opt/Nginx --add-module=/data/mfs/Nginx_mogilefs_module-1.0.4 # make # make install 6.3、配置Nginx_mogilefs_module 模块 在 Nginx 配置文件中加入以下内容 : server { Listen 80; server_name img.test.com; index index.HTML; location / { mogilefs_tracker 192.168.0.11:7001; mogilefs_domain image; mogilefs_pass { proxy_pass $mogilefs_path; proxy_hIDe_header Content-Type; proxy_buffering off; } } 注: mogilefs_domain image 这里的 image 就是 mogilefs 中创建的域 七、Mogtool 工具创建文件和读取文件内容 7.1、创建文件 如将 /data/up.txt 文件创建到 image 域中 upload/up.txt 文件。命令如下 : # mogtool --trackers=192.168.0.11:7001 --domain=image inject /data/up.txt "upload/up.txt" 注 :/data/up.txt 为本地系统文件 Upload/up.txt 为 mogilefs 文件内文件 mogilefs 文件系统中没有目录概念,将创建的文件名以 upload/up.txt 来代替。 7.2、读取文件 # mogtool --trackers=192.168.0.11:7001 --domain=image extract upload/up.txt - Fetching pIEce 1... Trying http://192.168.0.22:7500/dev101/0/000/000/0000000001.fID... WIDe character in print at /usr/bin/mogtool line 1285,<Sock_192.168.0.11:7001> line 1. up file txt 注 : upload/up.txt - 这里的 – 号不能却少,否则会出现语法错误 http://192.168.0.22:7500/dev101/0/000/000/0000000001.fid 为 upload/up.txt 文件的实际地址 up file txt 为 upload/up.txt 文件内容 八、FUSE API 挂载 MogileFS文件系统 8.1、安装 *** 作系统相应fuse支持 yum install fuse fuse-devel fuse-libs 8.2、安装Perl Fuse支持 cpan -i FUSE::ClIEnt cpan -i FUSE::Server cpan -i FUSE::Fuse 注 : 如安装过程中提示却少模块,就安装相应模块。 8.3、Mount mogileFS文件系统 下载 http://www.spicylogic.com/allenday/blog/2008/07/14/mogilefs-fuse-bigfile-support/ 脚本,如文件名为 fuse.pl 将 mogileFS 文件系统挂载到 /mnt 目录下。命令如下 : # perl fuse.pl /mnt & 8.4、查看mogileFS系统文件 # df -h filesystem Size Used Avail Use% Mounted on /dev/hda2 19G 9.8G 7.7G 57% / /dev/hda1 99M 17M 78M 18% /boot tmpfs 506M 0 506M 0% /dev/shm /dev/fuse 2 0 2 0% /mnt 注 : 这里挂载 mogileFS 文件系统到 /mnt 下,文件大小显示 2, 这里不是很清楚,希望大家多研究。 # ls /mnt/ 1111.jpg 1112.jpg upload/up.txt 这样使用起来比较直观, *** 作文件就与本地文件系统一样。 九、MogileFS参考资料 http://www.admindigest.com/4/ http://www.tech-q.cn/thread-12293-1-1.html 总结
以上是内存溢出为你收集整理的【MogileFS-2.44】 安装与配置全部内容,希望文章能够帮你解决【MogileFS-2.44】 安装与配置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)