mongodb复制集

1、先来一个脚本,启动三个节点

#! /bin/bash
IP='139.199.64.189'
NA='RSC'
if [ "$1" = "reset" ]; then
    killall -9 mongo
    rm -rf /home/m*
    exit
fi

#start three sharding in this methine
if [ "$1" = "install" ]; then
    mkdir -p /home/m0 /home/m1 /home/m2 /home/mlog
/usr/local/mongbd/bin/mongod --dbpath /home/m0 --logpath /home/mlog/m17.log  --logappend --port 27017 --fork  --replSet ${NA} --smallfiles
/usr/local/mongbd/bin/mongod --dbpath /home/m1 --logpath /home/mlog/m18.log  --logappend --port 27018 --fork  --replSet ${NA} --smallfiles
/usr/local/mongbd/bin/mongod --dbpath /home/m2 --logpath /home/mlog/m19.log  --logappend --port 27019 --fork  --replSet ${NA} --smallfiles
exit

fi


if [ "$1" = "repl" ]; then
#add sharding 
/usr/local/mongbd/bin/mongo --port 27017  <<EOF
use admin
var rsconf = {
    _id:'${NA}',
    members:[
         {_id:0,host:'${IP}:27017'}
        ]

    }

rs.initiate(rsconf);
rs.add('${IP}:27018');
rs.add(
'${IP}:27019'); EOF exit fi

 

2、进入主节点(默认是20717节点)

/usr/local/mongbd/bin/mongo --port 27017 
rs.status() #查看复制集的状态,从这个案例可以看到一主两重,即PRIMARY,SECONDARY
rs.add("139.199.64.189:27019") #如果脚本没有添加进来,可以使用这个命令手动添加

#循环插入数据
for(var i = 0;i<40000;i++){
db.user.insert({name:'hello'+i,age:i})
}

db.user.find().count()#查看插入的数据条数

 

3、进入复制节点查看是否有数据

./mongo --port 27018
#注意,先要执行,否则报错
rs.slaveOk()
db.user.find().count() #可以看到主节点插入的数据

 

到此结束,欢迎留言一起学习!

 

posted @ 2018-12-29 18:09  小白啊小白,Fighting  阅读(253)  评论(0编辑  收藏  举报