我们配置一主一从一仲裁的mongo复制集。
1、创建目录
cd /var/lib/mongodb
mkdir main
mkdir slave
mkdir arbiter
2、创建主服务配置
vi /etc/mongodb/main.conf
内容如下:
dbpath=/var/lib/mongodb/main
logpath=/var/log/mongodb/main.log
logappend=true
port=27018
noauth=true
oplogSize=2048
replSet=Test
3、创建从服务配置
vi /etc/mongodb/slave.conf
内容如下:
dbpath=/var/lib/mongodb/slave
logpath=/var/log/mongodb/slave.log
logappend=true
port=27019
noauth=true
oplogSize=2048
replSet=Test
4、创建仲裁服务配置
vi /etc/mongodb/arbiter.conf
内容如下:
dbpath=/var/lib/mongodb/arbiter
logpath=/var/log/mongodb/arbiter.log
logappend=true
port=27020
noauth=true
oplogSize=2048
replSet=Test
5、创建启动脚本
vi /root/mongo.sh
/usr/bin/mongod --config /etc/mongodb/main.conf &
/usr/bin/mongod --config /etc/mongodb/slave.conf &
/usr/bin/mongod --config /etc/mongodb/arbiter.conf &
6、启动并配置
启动
bash /root/mongo.sh
连接
mongo 127.0.0.1:27018
配置
cfg={"_id":"Test",
"members":[
{"_id":0, "host":"127.0.0.1:27018", "priority":1},
{"_id":1, "host":"127.0.0.1:27019", "priority":2},
{"_id":2, "host":"127.0.0.1:27020", "arbiterOnly":true}]}
rs.initiate(cfg)
如果配置错误,可以重配置
rs.reconfig(cfg, {force:true});
7、测试
use test;
db.testTable.insert({testKey:"testValue"});
db.testTable.find();