初識MongoDB(五)--MongoDBの主従レプリケーション


MongoDBの主従レプリケーションは実は簡単で、主を実行するサーバーでmongodプロセスを開く時、パラメータ--masterを加入すればいい、実行するサーバーでmongodプロセスを開く時、--slaveと--sourceを加入して主を指定すればいい.このように、主データベースの更新時、データはデータベースからコピーされました(ここではログファイルとデータへのアクセス時にユーザーが一時的に考慮しないことを許可します).次に、2台のサーバをシミュレートするために、1台のサーバで2 deamonをオンにします.
CODE: $ mkdir m_master m_slave
$mongodb/bin/mongod  --port  28018 --dbpath ~/m_master  --master  &
$mongodb/bin/mongod  --port  28019 --dbpath ~/m_slave  --slave  --source   localhost:28018  &
このようにプライマリスレーブサーバが起動し、netstat-an-tを使用して28018、28019ポートがオープンしているかどうかを確認できます.
メインサーバーへのログイン:
CODE: $ mongodb/bin/mongo --port 28018
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28018/test
type "help" for help
> show dbs
admin
local
test
> use test
switched to db test
> show collections
ここのホスト上のtestデータは何の表もありません.空です.サーバーから見ても同じです.
CODE: $ mongodb/bin/mongo --port 28019
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28019/test
type "help" for help
> show dbs
admin
local
test
> use test
switched to db test
> show collections
では、プライマリ・スレーブ・データが想像通りに同期するかどうかを検証します.
プライマリにテーブルuserを新規作成します
CODE: > db   
test
>db.createCollection("user");
> show collections            
system.indexes
user
>
テーブルuserは既に存在し、testライブラリにはsystemが1つ追加されている.indexesインデックスを格納するためのテーブル
サーバーからtestライブラリを表示するには、次の手順に従います.
CODE: > db   
test
> show collections            
system.indexes
User
> db.user.find();
>
サーバのtestライブラリからuserテーブルが既に存在します.また、userテーブルが空であることを確認しました.
次に、プライマリ・サーバtestライブラリのuserテーブルにデータを挿入するテストを行います.
CODE: > show collections            
system.indexes
user
> db.user.insert({uid:1,name:"Falcon.C",age:25});
> db.user.find();                                
{ "_id" : ObjectId("4b8226a997521a578b7aea38"), "uid" : 1, "name" : "Falcon.C", "age" : 25 }
>
このとき、サーバのtestライブラリuserテーブルを表示すると、レコードが1つ増えます.
CODE: > db.user.find();
{ "_id" : ObjectId("4b8226a997521a578b7aea38"), "uid" : 1, "name" : "Falcon.C", "age" : 25 }
>
MongoDBにはReplica PairsとMaster-Masterもあります
 
転載先:http://www.cnblogs.com/analyzer/articles/1721981.html
 
参考資料:http://www.mongodb.org/display/DOCS/Replication公式MongoDBレプリケーションの紹介