MongoDB Replica Sets

2011-12-17

配置 MongoDB Replica Sets 步骤:

启动 MongDB:

mkdir -p /data/db{1,2,3}/
/opt/mongodb/bin/mongod --maxConns 512 --replSet repset --dbpath /data/db1/ --port 27018 --oplogSize 2048 --profile 1 --fork --logpath /tmp/mongo.log1 --rest
/opt/mongodb/bin/mongod --maxConns 512 --replSet repset --dbpath /data/db2/ --port 27019 --oplogSize 2048 --profile 1 --fork --logpath /tmp/mongo.log2 --rest
/opt/mongodb/bin/mongod --maxConns 512 --replSet repset --dbpath /data/db3/ --port 27020 --oplogSize 2048 --profile 1 --fork --logpath /tmp/mongo.log3 --rest

配置 Replica Set

/opt/mongodb/bin/mongo --port 27018
use admin
cfg = {_id:'repset', members: [
                         {_id: 0, host: '10.0.1.200:27018'},
                         {_id: 1, host: '10.0.1.200:27019'},
                         {_id: 2, host: '10.0.1.200:27020'}]
          }
rs.initiate(cfg)

读写分离

master 写入, slave 读取. 需要以下配置

db.getMongo().setSlaveOk()