搭建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 上执行。