Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631770
  • 博文数量: 95
  • 博客积分: 2091
  • 博客等级: 大尉
  • 技术积分: 982
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-05 19:34
文章分类

全部博文(95)

文章存档

2017年(1)

2016年(20)

2015年(10)

2014年(6)

2013年(4)

2012年(1)

2011年(9)

2010年(6)

2009年(20)

2008年(17)

2007年(1)

我的朋友

分类: LINUX

2008-08-20 10:49:25

  • 安装步骤

  • 获得MogileFS

  • 由于我的安装环境无法上外网,故先下载到本地机器上,Ftp到虚拟机上安装.下载 svn-1.4.5-setup.exe(window版)

  • 建本地目录 mogilefs-src

  • svn checkout

  • 安装Database 

  • 下载 mysql-5.1.22-rc.tar.tar 并上传到 虚拟机.

  • shell> groupadd mysql
  • shell> useradd -g mysql mysql
  • shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
  • shell> cd mysql-VERSION
  • shell> ./configure –prefix=/usr/local/mysql
  • shell> make
  • shell> make install
  • shell> cp support-files/my-medium.cnf /etc/my.cnf
  • shell> cd /usr/local/mysql
  • shell> bin/mysql_install_db –user=mysql
  • shell> chown -R root  .
  • shell> chown -R mysql var
  • shell> chgrp -R mysql .
  • shell> bin/mysqld_safe –user=mysql &
  • 或者你用.rpm的包来安装都可以,总之就是要安装正确,并且可以用就行了.
  • 启动mysql,输入下面命令创建MogileFS需要的databse(其实我在安装过程中发现,下面这步可以不用做,后面的命令会自动创建).
  • # mysql
  • mysql> CREATE DATABASE mogilefs;
  • mysql> GRANT ALL ON mogilefs.* TO ‘mogile’@'%’;
  • mysql> SET PASSWORD FOR ‘mogile’@'%’ = OLD_PASSWORD( ’sekrit’ );
  • mysql> FLUSH PRIVILEGES;
  • mysql> quit
  • 安装 Trackers and Storage Servers
  •     就是把下载下来的MogileFS源码上传到虚拟机上了,我是放在/home/zhoucw目录下面,输入
  • # cd trunk/server/
  • # perl Makefile.PL
  • 这个时候,系统会提醒你要先安装如下包,我的提示是这样的:
  • Warning: prerequisite Danga::Socket 1.56 not found.
  • Warning: prerequisite Gearman::Client 1.07 not found.
  • Warning: prerequisite Gearman::Client::Async 0.93 not
  • Warning: prerequisite Gearman::Server 1.08 not found.
  • Warning: prerequisite Net::Netmask 0 not found.
  • Warning: prerequisite Perlbal 1.53 not found.
  • Warning: prerequisite Sys::Syscall 0.22 not found.
  • 那就尽量找一样的版本来装,不要只讨苦事.去下载,如果在安装上面包的过程,系统什么东西的话,都到 去找吧.基本都有.
  • 对了,你的perl版本很关键,一定要用perl5.8.8,我开始就是用的perl5.8.0没有安装成功.
  • # make
  • # make test
  • # make install
  • 如果在make test出现文件路径找不到的错误的话,可以不用理会,继续安装就是了.
  • 接下来我安装了一些工具,其实这不是必须的,不过为了测试用,还是装一下.
  •    # cd trunk/utils/
  • # perl Makefile.PL
  • # make
  • # make test
  • # make install
  •          如果碰到包没有安装的问题,都可以参照上面步骤的方法解决.我会把要用到的包都放上去.
  • 如果一切顺利,MogileFS安装就结束了.
  • 配置系统
  • 数据库的配置
  •     ‘ trunk/server’ 目录下面有个工具叫 ‘mogdbsetup’ ,用它可以自动配置数据库.我虚拟机的IP地址是 192.200.6.111
  •   #mogdbsetup –dbhost=192.200.6.111 –dbname=mogilefs –dbuser=mogile –dbpassword=sekrit
  •    出现确认提示的时候,就填 y.
  • Tracker配置
  •   新建文件 at /etc/mogilefs/mogilefsd.conf.,文件内容,
  • db_dsn DBI:mysql:mogilefs
  • db_user mogile
  • db_pass sekrit
  • conf_port 6001
  • listener_jobs 5
  •   db_dsn指向的是你数据库的位置,如果你数据库不在同一个机器上,请改为:
  • db_dsn DBI:mysql:mogilefs:mogiledb.yourdomain.com
  •    mogiledb.yourdomain.com是你机器的名,ip地址应该也可以吧.
  •  
  • 由于mogilefsd不能用root用户启动.所以添加mogile用户.
  • # adduser mogile
  • 在配置下面以前先启动 trackers server.
  • # su mogile
  • mogilefsd -c /etc/mogilefs/mogilefsd.conf –daemon
  • Storage Server 配置
  • 建个存放文件的目录
  • # mkdir /var/mogdata
  • 生成配置文件 at /etc/mogilefs/mogstored.conf内容是
  •    httplisten=0.0.0.0:7500
  • mgmtlisten=0.0.0.0:7501
  • docroot=/var/mogdata
  • ‘mogadm’工具将 storage server 加到数据库中.
  • # mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=192.200.8.111:6001 host add mogilestorage –ip=192.200.8.111 –port=7500 –status=alive
  • 由于我是在一台机器上配,trackers的地址和ip地址是一样的,你们在配的时候要根据实际情况来.
  • 用下面命令来检测是否成功.
  • mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=192.200.8.111:6001 host list
  • 加入一个设备到你的storage server.
  • mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=192.200.8.111:6001 device add mogilestorage 1
  • 用下面命令来检测是否成功.
  • mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=192.200.8.111:6001 device list
  • 在存放文件的目录下面在建个目录
  • # mkdir -p /var/mogdata/dev1
  • 运行MogileFS
  • 启动 storage server
  •    # mogstored –daemon
  •  这里可能需要打一个包
  • perl-IO-AIO-2.51-1.el5.rf.x86_64.rpm
  • 启动 Trackers(上面已经启动了,就不用再起了)
  • su mogile
  • mogilefsd -c /etc/mogilefs/mogilefsd.conf –daemon
  • 查看你所有的服务都起来没有
  •   ps -ef | grep mogilefsd,
  •   ps -ef | grep mogstored
  • 大功告成.
  • 测试阶段
  •  生成domain
  •    # mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=192.200.8.111:6001 domain add testdomain
  •   加一个 class domain
  • mogadm –lib=/usr/lib/perl5/5.8.8 –trackers=192.200.8.111:6001 class add testdomain testclass
  • 写一个perl文件试一下test.pl
  • use MogileFS::Client;
  • my $mogfs = MogileFS::Client->new(domain => ‘testdomain’,
  •                                hosts  => ['192.200.8.111:6001'],
  •                                root =>’/var/mogdata’,);
  • my $fh = $mogfs->new_file(”file_key”, “testclass”);
  • die $fh unless $fh->print($mogfs->readonly);
  • my $content = “test_file.exe”;
  • @num = $mogfs->store_content(”file_key”,”testclass”,$content);
  • print “@num \n”;
  • my $file_contents = $mogfs->get_file_data(”file_key”);
  • print “$file_contents \n”;
  • #$mogfs->delete(”file_key”);
  • $fh->print($file_contents);
  • @urls = $mogfs->get_paths(”file_key”);
  • print “@urls \n”;
  • die $mogfs->errstr unless $fh->close;
  • 返回的内容是
  • [root@TESTZHOU MFSC]# perl test.PL
  • 13
  • SCALAR(0×740d9f0)
  • http://192.200.8.111:7500/dev1/0/000/000/0000000032.fid
  • 需要下载的包名
  • IO-AIO-2.51.tar.gz或perl-IO-AIO-2.51-1.el5.rf.x86_64.rpm
  • Gearman-Server-1.08.tar.tar
  • Perlbal-1.54.tar.tar
  • Gearman-Client-Async-0.93.tar.tar
  • MogileFS-Client-1.08.tar.tar
  • Net-Netmask-1.9015.tar.tar
  • Gearman-1.07.tar.tar
  • Danga-Socket-1.56.tar.tar
  • Sys-Syscall-0.22.tar.tar
  • 阅读(1675) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~