分布式文件系统 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


[root@redhat1 mogilefs]# vi /etc/mogilefs/mogilefsd.conf # Enable daemon mode to work in background and use syslog daemonize = 0 # Where to store the pid of the daemon (must be the same in the init script) pidfile = /var/run/mogilefsd/mogilefsd.pid # Database connection information db_dsn = DBI:mysql:mogilefs:host=127.0.0.1 db_user = root db_pass = 111111 # IP:PORT to listen on for mogilefs client requests listen = 192.168.2.85:7001 # Optional, if you don't define the port above. conf_port = 7001 # Number of query workers to start by default. query_jobs = 10 # Number of delete workers to start by default. delete_jobs = 1 # Number of replicate workers to start by default. replicate_jobs = 5 # Number of reaper workers to start by default. # (you don't usually need to increase this) reaper_jobs = 1 # Number of fsck workers to start by default. # (these can cause a lot of load when fsck'ing) #fsck_jobs = 1 # Minimum amount of space to reserve in megabytes # default: 100 # Consider setting this to be larger than the largest file you # would normally be uploading. #min_free_space = 200 # Number of seconds to wait for a storage node to respond. # default: 2 # Keep this low, so busy storage nodes are quickly ignored. #node_timeout = 2 # Number of seconds to wait to connect to a storage node. # default: 2 # Keep this low so overloaded nodes get skipped. #conn_timeout = 2 # Allow replication to use the secondary node get port, # if you have apache or similar configured for GET's #repl_use_get_port = 1


执行如下命令来启动

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


[root@localhost mogilefs]# vi /etc/mogilefs/mogstored.conf maxconns = 10000 httplisten = 0.0.0.0:7500 mgmtlisten = 0.0.0.0:7501 docroot = /var/mogdata
执行如下命令来启动

找到 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'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值