搭建mongodb 的Replica Sets模式,本文是在 2.0.5 版本下測試的。
mongo : http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.5.tgz
解壓到 /usr/local/mongodb/ 目錄
假如有三台伺服器server1 server2 server3(充當arbiter),如果在一台伺服器上 啟動命令上需要加上不同的 port 和指向不同的 資料庫存放地址
三台伺服器分別執行如下命令:
# rm -rdf /mnt/dbdata/*
# rm -rdf /mnt/dblog/*
# mkdir -p /mnt/dbdata
# mkdir -p /mnt/dblog
# mkdir -p /mnt/dbkey
# echo "my pass word" > /mnt/dbkey/pass
# chmod 600 /mnt/dbkey/pass
在三台伺服器上啟動mongo
#/usr/local/mongodb/bin/mongod --keyFile /mnt/dbkey/pass --replSet myset --dbpath /mnt/dbdata --logpath /mnt/dblog/mongodb1.log --auth --fork
設定Replica Sets
在server1上執行
# /usr/local/mongodb/bin/mongo
> cfg={
_id : "myset",
members : [
{ _id : 0, host : "server1"},
{ _id : 1, host : "server2"}] }
> rs.initiate(cfg);
執行幾分鐘才能完成,需要等待。
或者執行 rs.initiate() 後然後執行
rs.add("server2");
加上arbiter server
PRIMARY> rs.addArb("server3");
執行 rs.status(); 如果一切正常就OK了。
--------------------------------------------------------
設定資料庫密碼:
use admin
db.addUser("rootuser","1111111");
登入:
/usr/local/mongodb/bin/mongo
use admin
db.auth("rootuser","1111111");
下來添加資料庫,並設定密碼 需要在 PRIMARY 上執行。