免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6116 | 回复: 3
打印 上一主题 下一主题

[mogileFS] 【MogileFS-2.44】 安装与配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-14 16:58 |只看该作者 |倒序浏览
本帖最后由 wbftp 于 2010-12-14 17:17 编辑

MogileFS-2.44 安装与配置

MogileFS-2.44 安装与配置.pdf (574.63 KB, 下载次数: 269)

目录

一、MogileFS 介绍

        1.1、环境

二、MogileFS 安装

2.1Mysql安装

2.2、安装MogileFS 相关Perl模块


2.3MogileFS Server 安装

2.4MogileFS Storage 存储节点安装

三、MogileFS 配置

3.1mysql数据库设置

3.2、创建mysql连接

3.3、创建Tracker配置文件

3.4MogileFS 启动与停止

3.5MogileFS Storage 节点配置

3.6、启动MogileFS Storage 节点

四、管理配置MogileFS

4.1、添加Storeage节点到Tracker

4.2、在存储节点中添加设备

4.3、在存储节点中使设备失效

4.4、添加域和类

4.5、查看域和tracker节点

4.6mogadm 详细参数

五、MogileFS PHP扩展模块

5.1、安装MogileFS PHP扩展

5.2、添加MogileFS PHP模块

5.3MogileFS 客户端 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.3Mount MogileFS文件系统

8.4、查看MogileFS系统文件

九、MogileFS参考资料

一、MogileFS 介绍

MogileFS 是一个开源的分布式文件系统,用于组建分布式文件集群,由 LiveJournal 旗下 Danga Interactive 公司开发,Danga 团队开发了包括 MemcachedMogileFSPerlbal 等不错的开源项目:(注: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.11Centos 5.5 x32
Storage Nodes 1 (存储节点1)192.168.0.22Centos 5.5 x32
Storage Nodes 2 (存储节点2)192.168.0.33Centos 5.5 x32
Mysql192.168.0.44Centos 5.5 x32

二、MogileFS 安装

2.1Mysql安装

请参考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


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.3MogileFS 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.4MogileFS Storage 存储节点安装

参考2.22.3DBD::mysql 可不用安装

三、MogileFS 配置3.1mysql数据库设置

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.4MogileFS 启动与停止

由于mogilefs不能以root用户运行,创建mogile用户

# Useradd mogile –s /sbin/nologin

# su mogile –c “mogilefsd -c /etc/mogilefs/mogilefsd.conf --daemon”

使用pkill mogilefsd 来停止mogilefs 服务

3.5MogileFS 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 服务

论坛徽章:
0
2 [报告]
发表于 2010-12-14 17:05 |只看该作者
本帖最后由 wbftp 于 2010-12-14 17:39 编辑

四、管理配置MogileFS4.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节点



4.6mogadm 详细参数

#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.3MogileFS 客户端 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

论坛徽章:
0
3 [报告]
发表于 2010-12-14 17:26 |只看该作者
本帖最后由 wbftp 于 2010-12-14 17:29 编辑

六、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 txtupload/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.3Mount 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系统文件

:这里挂载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

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
4 [报告]
发表于 2012-02-24 10:05 |只看该作者
谢谢分享:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP