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

来源:互联网 发布:神灯治疗仪 知乎 编辑:程序博客网 时间:2024/06/12 09:08

我这里的环境都是 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 syslogdaemonize = 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 informationdb_dsn = DBI:mysql:mogilefs:host=127.0.0.1db_user = rootdb_pass = 111111# IP:PORT to listen on for mogilefs client requestslisten = 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 = 10000httplisten = 0.0.0.0:7500mgmtlisten = 0.0.0.0:7501docroot = /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'


原创粉丝点击