--------(--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2012-03-30(Fri)

MongoDB Master / Slaveモードを構築する

MongoDBにはざっくり分けると以下の3通りの構成があるようだ
①Single
②Master Slave
③Replica Set


今回は②Master Slaveモードを試みた。
かなり簡単。

- インストール
-- Download
$ curl -O http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.3.tgz


-- Install
$ tar xzvf mongodb-linux-x86_64-2.0.3.tgz
$ sudo cp mongodb-linux-x86_64-2.0.3 /usr/local/
$ ln -s /usr/local/mongodb-linux-x86_64-2.0.3 /usr/local/mongo


- 設定
ポートは27017とする。
-- Master側 (192.168.1.212)
$ /usr/local/mongo/bin$ vim mongo.conf
# This is an example config file for MongoDB.
dbpath = /mnt/mongo/data/db
bind_ip = 127.0.0.1
# auth = true # use 'true' for options that don't take an argument
verbose = true # to disable, comment out.
vv = true
port = 27017
logpath = /mnt/mongo/log/mongodb.log
logappend = true
cpu = true
# keyFile = /usr/local/mongo/key/tkey
journal = true
master = true


-- Slave側 (192.168.1.215)
$ /usr/local/mongo/bin$ vim mongo.conf
# This is an example config file for MongoDB.
dbpath = /mnt/mongo/data/db
bind_ip = 127.0.0.1
# auth = true # use 'true' for options that don't take an argument
verbose = true # to disable, comment out.
vv = true
port = 27017
logpath = /mnt/mongo/log/mongodb.log
logappend = true
cpu = true
# keyFile = /usr/local/mongo/key/tkey
journal = true
slave = true
source = 192.168.1.212:27017


- 起動
$ /usr/local/mongo/bin$ ./mongod -f mongo.conf
(cat /mnt/mongo/log/mongodb.log)
Tue Mar 6 19:42:53 BackgroundJob starting: DataFileSync
Tue Mar 6 19:42:53 isInRangeTest passed
Tue Mar 6 19:42:53 shardKeyTest passed
Tue Mar 6 19:42:53 shardObjTest passed
Tue Mar 6 19:42:53 versionCmpTest passed
Tue Mar 6 19:42:53 versionArrayTest passed
Tue Mar 6 19:42:53 [initandlisten] MongoDB starting : pid=11047 port=27017 dbpath=/mnt/mongo/data/db slave=1 64-bit host=postgres-OptiPlex-760
Tue Mar 6 19:42:53 [initandlisten] db version v2.0.3, pdfile version 4.5
Tue Mar 6 19:42:53 [initandlisten] git version: 05bb8aa793660af8fce7e36b510ad48c27439697
Tue Mar 6 19:42:53 [initandlisten] build info: Linux ip-00-000-0-000 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_\
Tue Mar 6 19:42:53 [initandlisten] options: { bind_ip: "127.0.0.1", config: "mongo.conf", cpu: "true", dbpath: "/mnt/mongo/data/db", journal: "tr\
Tue Mar 6 19:42:53 [initandlisten] flushing directory /mnt/mongo/data/db
Tue Mar 6 19:42:53 [initandlisten] journal dir=/mnt/mongo/data/db/journal
Tue Mar 6 19:42:53 [initandlisten] recover : no journal files present, no recovery needed
Tue Mar 6 19:42:53 [initandlisten] flushing directory /mnt/mongo/data/db/journal
Tue Mar 6 19:42:53 [initandlisten] flushing directory /mnt/mongo/data/db/journal
Tue Mar 6 19:42:53 [initandlisten] Accessing: local for the first time
Tue Mar 6 19:42:53 [initandlisten] query local.system.namespaces reslen:20 0ms
Tue Mar 6 19:42:53 [initandlisten] enter repairDatabases (to check pdfile version #)
Tue Mar 6 19:42:53 [initandlisten] >...pharaoh
Tue Mar 6 19:42:53 [initandlisten] Accessing: pharaoh for the first time
Tue Mar 6 19:42:53 [initandlisten] >...local
Tue Mar 6 19:42:53 [initandlisten] done repairDatabases
Tue Mar 6 19:42:53 BackgroundJob starting: snapshot
Tue Mar 6 19:42:53 BackgroundJob starting: ClientCursorMonitor
Tue Mar 6 19:42:53 BackgroundJob starting: PeriodicTask::Runner
Tue Mar 6 19:42:53 [initandlisten] slave=true
Tue Mar 6 19:42:53 [initandlisten] fd limit hard:4096 soft:1024 max conn: 819
Tue Mar 6 19:42:53 [websvr] fd limit hard:4096 soft:1024 max conn: 819


- 動作確認
ブラウザで http://localhost:28017/
と入力すると画面で動作が確認できる。
以下を参照。
http://www.mongodb.org/display/DOCS/Http+Interface

- 停止
停止はちょっとめんどくさい。
mongoコマンドでコンソールに入りコマンドを打つ。
 $ /usr/local/mongo/bin/mongo
> use admin
switched to db admin
> db.shutdownServer()
Tue Mar 6 19:33:29 DBClientCursor::init call() failed
Tue Mar 6 19:33:29 query failed : admin.$cmd { shutdown: 1.0 } to: 127.0.0.1
server should be down...
Tue Mar 6 19:33:29 trying reconnect to 127.0.0.1
Tue Mar 6 19:33:29 reconnect 127.0.0.1 ok
Tue Mar 6 19:33:29 Socket recv() errno:104 Connection reset by peer 127.0.0.1:27017
Tue Mar 6 19:33:29 SocketException: remote: 127.0.0.1:27017 error: 9001 socket exception [1] server [127.0.0.1:27017]
Tue Mar 6 19:33:29 DBClientCursor::init call() failed
Tue Mar 6 19:33:29 query failed : admin.$cmd { getlasterror: 1.0, w: 1.0 } to: 127.0.0.1
Tue Mar 6 19:33:29 Error: error doing query: failed shell/collection.js:151
> exit
bye



参照:
NoSQLデータベースファーストガイド
mongo official site
mongoDB JP公式サイト
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

コメント

承認待ちコメント

このコメントは管理者の承認待ちです
プロフィール

kumagonjp2

Author:kumagonjp2
Python,Django,R,Mongo,MySQL,Struts,Spring,データマイニングなどサーバー関係のメモを残していきます。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
雪が3Dで降るブログパーツ ver2

マウスで見る方向変えられます

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。