mongodb複製集

weixin_30639719發表於2020-04-05

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() #可以看到主節點插入的資料

 

到此結束,歡迎留言一起學習!

 

轉載於:https://www.cnblogs.com/ywjfx/p/10197435.html

相關文章