主從複製是mongodb最經常使用的複製方式,也是一個簡單的數據庫同步備份的集羣技術,這種方式很靈活.可用於備份,故障恢復,讀擴展等.
最基本的設置方式就是創建一個主節點和一個或多個從節點,每一個從節點要知道主節點的地址.mongodb
mongodb主從配置中的知識點:數據庫
1.主節點的配置主要是經過在啓動mongodb時帶上--master這個參數服務器
2.從節點主要是經過參數--slave和--source 這兩個參數 --source這個參數的值是 ip:端口架構
3.帶有auth驗證的須要生成keyfile帶上keyfile參數app
1,主服務器配置mongo.confspa
dbpath=/usr/tools/mongodb/data logpath=/usr/tools/mongodb/logs/mongo.log port=27017 #bind_ip = 127.0.0.1 auth=true fork=true logappend=true keyFile=/usr/tools/mongodb/keyfile master=true
注意keyfile路徑,keyfile主要用來驗證,首先須要先生產keyfile文件,code
隨機生成keyFile或者手動寫入,key的長度必須是6-1024的base64字符ip
openssl rand -base64 1024 > mongodb.key chmod 600 mongodb.key
啓動mongo服務,ssl
./mongod -f mongo.conf
2,從服務配置同步
dbpath=/usr/tools/mongodb1/data logpath=/usr/tools/mongodb1/log/mongo.log logappend=true source=192.168.1.2:27017 fork=true port=27017 auth=true keyfile=/usr/tools/mongodb1/keyfile slave=true autoresync=true
把主服務mongodb生成的keyfile複製到從服務器上
啓動從服務
./mongd -f mongo.conf
3.查看主從的狀態
db.printReplicationInfo():查看主節點的狀態
db.printSlaveReplicationInfo():查看從節點的狀態
tips:主從的架構所要面臨的問題:
1.若是讀寫都是對主節點的操做,那主節點無疑是壓力過大.
2.若是主節點掛掉了,那這個架構就失效了
3.若是多個從節點從主節點複製數據,主節點壓力會不會過大.
因此mongodb官方已不推薦使用這種方式, 而是使用副本集架構
更多參考引用 :https://docs.mongodb.com/manual/replication/