MogileFS
リポジトリ
http://code.sixapart.com/svn/mogilefs/
perl -MCPAN -e shell cpan> install Net::Netmask cpan> install Danga::Socket cpan> install Linux::AIO #centos5.1で失敗したので、 cpan> install IO::AIO cpan> install Perlbal cpan> install MogileFS::Client #※1 cpan> install DBI cpan> install DBD::mysql
#DBD::mysqlがうまく入らない。
#ソースから日本語対応のtritonn入れていたので、
root# vi /etc/ld.so.conf /usr/local/mysql/lib/mysql root# ldconfig
root# cd /usr/local/src root# svn co http://code.sixapart.com/svn/mogilefs/trunk mogilefs root# cd mogilefs root# svn info リビジョン: 1184
* 配布物
** server
*** tracker, storage node サーバーで必要になるコマンドと Perl モジュールが含まれています。
** api
*** client サーバーで必要になる API が含まれているディレクトリです。現時点では Perl 向け API のみ配布物に含まれています。
** utilities
*** MogileFS の設定・管理に必要なユーティリティコマンド(mogadm)が含まれています。
root# cd server root# perl Makefile.PL root# make root# make install
make testはデータベースへの接続テストがハードコーディングされているのでスキップします。
※1でインストールしてればいらない
root# ../api/perl/MogileFS-Client root# perl Makefile.PL root# make root# make install
root# cd ../utils root# perl Makefile.PL root# make root# make install
対話形式でやります。
root# mogdbsetup This will attempt to setup or upgrade your MogileFS database. It won't destroy existing data. Run with --help for more information. Run with --yes to shut up these prompts. Continue? [N/y]: y Create database name 'mogilefs'? [Y/n]: Y Grant all privileges to user 'mogile', connecting from anywhere, to the mogilefs database 'mogilefs'? [Y/n]: Y root#
一括でやるなら
root# mogdbsetup --dbuser=mogile --dbpass=mogpass --yes
設定ファイル用ディレクトリ
root# mkdir /etc/mogilefs
実際にファイルがおかれるディレクトリ(strage nodeの実態)
root# mkdir /var/mogdata
設定ファイルを編集
* 参考
** http://search.cpan.org/src/BRADFITZ/mogilefs-server-2.17/lib/MogileFS/Config.pm
root# cd /etc/mogilefs root# touch mogstored.conf root# touch mogilefsd.conf root# vi mogilefsd.conf ## tracker (mogilefsd) の設定 # daemonで実行 daemonize = 1 # database db_dsn = DBI::mysql:mogilefs:host=127.0.0.1 db_user = mogile db_pass = # mogilefsdがclientからの要求を受け付けるポート番号 conf_port = 7001 # clientからの要求を処理するプロセスの数 listener_jobs = 10 root# vi mogstored.conf ## storage node (mogstored) の設定 # httpリクエストを待ち受け付けるIPとポート httplisten = 0.0.0.0:7500 # Perlbal間利用リクエストを受け付けるIPとポート mgmtlisten = 0.0.0.0:7501 # docroot docroot = /var/mogdata
mogilefsdはroot以外で実行する必要があるのでmogilefsdようのユーザーを作成する
root# useradd -s /bin/false mogile
mogstoredとmogilefsdをあげます
root# mogstored --config=/etc/mogilefs/mogstored.conf -d ERROR: Directory not found for service mogstored root# mkdir /var/mogdata root# mogstored --config=/etc/mogilefs/mogstored.conf -d root# sudo -u mogile mogilefsd root# netstat -atn root# ps aux | grep mog