分布式文件系统 Mogilefs 安装步骤

我这里的环境都是 RHEL 5 的环境。

MySQL 数据库 和 tracker 都放到一台服务器上, 为 192.168.2.85

storage server两台, 分别为 192.168.2.98          192.168.2.222

 

第一:    安装 Mysql 数据库

Mysql的安装请大家直接下载 rpm 安装包最方便, 下载源码安装也很简单。我这里是使用 rpm 包安装。

 

安装完毕后使用命令   service  mysql  start  启动

 

启动后使用mysql的客户端进入     mysql  -uroot  -p   , 然后回车, 默认空密码, 接着回车进入到mysql的控制台。

我们把mysql的访问密码修改为 111111

修改命令为 :

use  mysql;

update user set Password=password('111111')   where  user='root';

quit;

 

然后把mysql 重新启动。

service  mysql  stop

service  mysql  start

 

 

第二 :  安装依赖包

 

执行命令 : perl -MCPAN -e shell   进入 perl 依赖包安装模式

install Danga::Socket
install DBI
install Net::Netmask
install Gearman::Server
install Gearman::Client::Async 
install IO::AIO
install Perlbal

install Mysql

install MogileFS::Server

install MogileFS::Client
install MogileFS::Utils

 

上述依赖包全部安装完毕后退出。

 

找到DBD模块所在的目录,我的目录为   /root/.cpan/build/  , 这个目录是上面安装时下载的各种依赖包。

cd  DBD-mysql-3.0008

perl Makefile.PL  --libs="-L/usr/lib64/mysql -lmysqlclient -L/usr/lib64 -lz " --cflags=-I/usr/include/mysql  --mysql_config=/usr/bin/mysql_config  --testhost=127.0.0.1 --testdb=test --testuser=root --testpassword=111111

make

make test 

make install

 

 

第三: 建立数据库和创建表

进入mysql 的控制台   mysql  -uroot -p111111  , 执行下面的命令

 

# mysql

mysql> CREATE DATABASE mogilefs;
mysql> GRANT ALL ON mogilefs.* TO 'mogile'@'%';
mysql> SET PASSWORD FOR 'mogile'@'%' = OLD_PASSWORD( '111111' );
mysql> FLUSH PRIVILEGES;
mysql> quit

 

然后再执行下面的命令创建表

mogdbsetup --dbhost=127.0.0.1 --dbname=mogilefs --dbuser=root --dbpassword=111111 --yes --verbose

 

 

第四 : 配置 tracker 的配置文件

用 root 用户执行

adduser mogile

mkdir /etc/mogilefs

 

 

[plain] view plain copy
 
  1. <span style="font-size:18px;">[root@redhat1 mogilefs]# vi /etc/mogilefs/mogilefsd.conf   
  2.   
  3. # Enable daemon mode to work in background and use syslog  
  4. daemonize = 0  
  5. # Where to store the pid of the daemon (must be the same in the init script)  
  6. pidfile = /var/run/mogilefsd/mogilefsd.pid  
  7. # Database connection information  
  8. db_dsn = DBI:mysql:mogilefs:host=127.0.0.1  
  9. db_user = root  
  10. db_pass = 111111  
  11. # IP:PORT to listen on for mogilefs client requests  
  12. listen = 192.168.2.85:7001  
  13. # Optional, if you don't define the port above.  
  14. conf_port = 7001  
  15. # Number of query workers to start by default.  
  16. query_jobs = 10  
  17. # Number of delete workers to start by default.  
  18. delete_jobs = 1  
  19. # Number of replicate workers to start by default.  
  20. replicate_jobs = 5  
  21. # Number of reaper workers to start by default.  
  22. # (you don't usually need to increase this)  
  23. reaper_jobs = 1  
  24. # Number of fsck workers to start by default.  
  25. # (these can cause a lot of load when fsck'ing)  
  26. #fsck_jobs = 1  
  27. # Minimum amount of space to reserve in megabytes  
  28. # default: 100  
  29. # Consider setting this to be larger than the largest file you  
  30. # would normally be uploading.  
  31. #min_free_space = 200  
  32. # Number of seconds to wait for a storage node to respond.  
  33. # default: 2  
  34. # Keep this low, so busy storage nodes are quickly ignored.  
  35. #node_timeout = 2  
  36. # Number of seconds to wait to connect to a storage node.  
  37. # default: 2  
  38. # Keep this low so overloaded nodes get skipped.  
  39. #conn_timeout = 2  
  40. # Allow replication to use the secondary node get port,  
  41. # if you have apache or similar configured for GET's  
  42. #repl_use_get_port = 1</span>  



 

 

 

执行如下命令来启动

su  mogile

[mogile@redhat1 mogilefsd]$ mogilefsd -c /etc/mogilefs/mogilefsd.conf --daemon
[mogile@redhat1 mogilefsd]$ ps -aux|grep mogilefsd  查看是否启动 mogilefsd 成功

 

 

第五:配置 storage server 的配置文件

adduser mogile
mkdir /var/mogdata
mkdir /var/mogdata/dev1   (第二台目录为 /var/mogdata/dev2)
chown mogile:mogile /var/mogdata/dev1
mkdir /etc/mogilefs

 

 

[html] view plain copy
 
  1. <span style="font-size:18px;">[root@localhost mogilefs]# vi /etc/mogilefs/mogstored.conf   
  2.   
  3. maxconns = 10000  
  4. httplisten = 0.0.0.0:7500  
  5. mgmtlisten = 0.0.0.0:7501  
  6. docroot = /var/mogdata  
  7. </span>  


执行如下命令来启动

 

找到 MogileFS-Server-2.51 所在的目录,我的为 /root/.cpan/build/

cd  MogileFS-Server-2.51

perl Makefile.PL

make

make test

make install

 

然后启动storage server 

[root@localhost MogileFS-Server-2.51]# mogstored --daemon
[root@localhost MogileFS-Server-2.51]# ps -aux|grep mogstored

 

第六:添加 storage 服务器到 tracker服务器进行记录

 

切换到 tracker 服务器 192.168.2.85

执行如下命令

mogadm --trackers=192.168.2.85:7001 host add mogilestorage1 --ip=192.168.2.98 --port=7500 --status=alive

mogadm --trackers=192.168.2.85:7001 host add mogilestorage2 --ip=192.168.2.222 --port=7500 --status=alive

 

添加完毕后使用下面的命令来检查添加的结果

mogadm --trackers=192.168.2.85:7001 host list

 

下来添加硬盘设备让tracker服务器进行管理

mogadm --trackers=192.168.2.85:7001 device add mogilestorage1   1

mogadm --trackers=192.168.2.85:7001 device add mogilestorage2   2

 

执行如下命令 来查看添加的结果

mogadm --trackers=192.168.2.85:7001 device list 

 

还可以执行如下命令来查看详细的硬盘资料

mogadm --trackers=192.168.2.85:7001 check

 

添加测试域的命令如下

mogadm --trackers=192.168.2.85:7001 domain add testdomain

mogadm --trackers=192.168.2.85:7001 class add testdomain normal

 

 

mogilefs 文件系统是与API的形式提供给客户端使用的, 你需要通过自己的代码来集成API。

有第三方封装的PHP的, Java的, RUBY的, PERL的。

我打算使用perl + fuse 的方式来使用, 但是 perl的fuse模块无法编译过去,晕死了。

遇到了这样的错误:

Fuse.xs:43: error: expected specifier-qualifier-list before 'tTHX'

http://blog.csdn.net/langeldep/article/details/6637517

posted @ 2016-07-25 05:59  findumars  Views(464)  Comments(0Edit  收藏  举报