mongoDB的主從複製簡單測試
MongoDB的主從複製其實很簡單,就是在執行主的伺服器上開啟mongod程式時,加入引數--master即可,
在執行從的伺服器上開啟mongod程式時,加入--slave 和 --source 指定主即可,
這樣,在主資料庫更新時,資料被複制到從資料庫中
--主節點啟動
[root@tmg-73 dbs]# mongod -f mongo_10000.conf
[root@tmg-73 dbs]# cat mongo_10000.conf
fork = true
bind_ip = 127.0.0.1
port = 10000
dbpath = /home1/mongodb/mongodb-linux-x86_64-2.2.1/dbs/master
logpath = /home1/mongodb/mongodb-linux-x86_64-2.2.1/dbs/log/mongo.log
logappend = true
journal = true
#auth = true
master=true
[root@tmg-73 dbs]# mongo localhost:10000
--從節點
[root@tmg-73 dbs]# mongod -f mongo_10001.conf
[root@tmg-73 dbs]# vi mongo_10001.conf
fork = true
bind_ip = 127.0.0.1
port = 10001
dbpath = /home1/mongodb/mongodb-linux-x86_64-2.2.1/dbs/slave1
logpath = /home1/mongodb/mongodb-linux-x86_64-2.2.1/dbs/log/slave1.log
logappend = true
journal = true
#auth = true
slave=true
source=localhost:10000
--測試主從
> show dbs
> use demo
> show dbs
> db.hits.insert({"url":"www.datagru.cn","pv":102});
注:可以在啟動從時加以下常用引數
–slavedelay 10 #延時複製 單位為秒
–autoresync #自動重新同步
–only #複製指定的資料庫,預設複製所有的庫
–oplogSize #主節點的oplog日誌大小,單位為M,建議設大點(更改oplog大小時,只需停主庫,刪除local.*,
然後加–oplogSize=* 重新啟動即可,*代表大小)
--如果發現主從不同步,從上手動同步
db.runCommand({"resync":1})
--狀態查詢 #主還是從
db.runCommand({"isMaster":1})
--#檢視各Collection狀態
db.printCollectionStats();
--#檢視主從複製狀態
db.printReplicationInfo();
--新增及刪除源
啟動從節點時可以用--source指定主節點,也可以在shell中配置這個源.
如上例主節點繫結了127.0.0.1:10000.啟動從節點時可以不新增源,而後向source集合新增主節點資訊:
--可以在shell中,將127.0.0.1:10000作為源新增到從節點上:
[root@tmg-73 dbs]# vi mongo_10003.conf
fork = true
bind_ip = 127.0.0.1
port = 10003
dbpath = /home1/mongodb/mongodb-linux-x86_64-2.2.1/dbs/slave3
logpath = /home1/mongodb/mongodb-linux-x86_64-2.2.1/dbs/log/slave3.log
logappend = true
journal = true
slave=true
[root@tmg-73 dbs]# mongo localhost:10003
use local
db.sources.insert({"host":"127.0.0.1:10000"})
show dbs
--副本集
--修改mongod 10000,初始化引數
replSet=blort
--啟動mongod 10004
[root@tmg-73 dbs]# mongod -f mongo_10004.conf
--配置如下
[root@tmg-73 dbs]# vi mongo_10004.conf
fork = true
bind_ip = 127.0.0.1
port = 10004
dbpath = /home1/mongodb/mongodb-linux-x86_64-2.2.1/dbs/replicat1
logpath = /home1/mongodb/mongodb-linux-x86_64-2.2.1/dbs/log/replicat1.log
logappend = true
journal = true
replSet=blort
--初始化副本集
rs.initiate({"_id" : "blort","members" : [
{"_id" : 1,"host" : "127.0.0.1:10000"},
{"_id" : 2,"host" : "127.0.0.1:10004"}
]})
--增加新節點
--啟動新mongod節點
[root@tmg-73 dbs]# cat mongo_10001.conf
fork = true
bind_ip = 127.0.0.1
port = 10001
dbpath = /home1/mongodb/mongodb-linux-x86_64-2.2.1/dbs/slave1
logpath = /home1/mongodb/mongodb-linux-x86_64-2.2.1/dbs/log/slave1.log
logappend = true
journal = true
replSet=blort
--連線primary節點,執行下面的命令。
rs.add('localhost:10001')
rs.addArb('localhost:10001')
//重新配置
rs.reconfig(rs.conf())
--非主節點不能插入,一般不超過12個節點可執行良好
--db.getMongo().setSlaveOk() 設定slave節點可讀
blort:SECONDARY> rs.help()
rs.status() { replSetGetStatus : 1 } checks repl set status
rs.initiate() { replSetInitiate : null } initiates set with default settings
rs.initiate(cfg) { replSetInitiate : cfg } initiates set with configuration cfg
rs.conf() get the current configuration object from local.system.replset
rs.reconfig(cfg) updates the configuration of a running replica set with cfg (disconnects)
rs.add(hostportstr) add a new member to the set with default attributes (disconnects)
rs.add(membercfgobj) add a new member to the set with extra attributes (disconnects)
rs.addArb(hostportstr) add a new member which is arbiterOnly:true (disconnects)
rs.stepDown([secs]) step down as primary (momentarily) (disconnects)
rs.syncFrom(hostportstr) make a secondary to sync from the given member
rs.freeze(secs) make a node ineligible to become primary for the time specified
rs.remove(hostportstr) remove a host from the replica set (disconnects)
rs.slaveOk() shorthand for db.getMongo().setSlaveOk()
db.isMaster() check who is primary
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23073818/viewspace-765335/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MongoDB主從複製MongoDB
- 【MongoDB】主從複製(Master-Slave Replication)簡單實現MongoDBAST
- 簡單配置mysql的主從複製MySql
- 【mongodb】mongodb 實現主從複製MongoDB
- 簡單搭建MySQL主從複製MySql
- 跟著大神學Mongo,Mongodb主從複製本機簡單操作總結MongoDB
- MongoDB主從複製,副本集, ShardingMongoDB
- GoldenGate複製的幾個簡單測試Go
- 簡單實踐實現 MySQL 主從複製MySql
- MongoDB日常運維-03主從複製搭建MongoDB運維
- Redis在.net中的使用(3)簡單的主從複製Redis
- MySQL-主從複製簡介MySql
- MySQL主從複製與主主複製MySql
- MySQL的主從複製與MySQL的主主複製MySql
- MySQL的主從複製、半同步複製、主主複製詳解MySql
- MySQL主從複製、半同步複製和主主複製MySql
- mysql5.7主從複製,主主複製MySql
- MySQL主從複製、半同步複製和主主複製概述MySql
- 主從複製
- Mongodb主從複製/ 副本集/分片叢集介紹MongoDB
- 配置mysql5.5主從複製、半同步複製、主主複製MySql
- mysql複製--主從複製配置MySql
- MySQL的主從複製MySql
- 主從複製是啥或者主從複製的原理是什麼?
- Windows 環境下,MySQL 的主從複製和主主複製WindowsMySql
- windows環境下,Mysql的主從複製和主主複製WindowsMySql
- 主從複製、雙主複製及半同步複製、以及基於SSL的複製
- MySQL主從複製架構搭建及讀寫分離測試MySql架構
- Redis - 主從複製Redis
- Redis:主從複製Redis
- MySQL 主從複製MySql
- 【MySql】主從複製MySql
- Redis主從複製Redis
- MySQL主從複製MySql
- MySQL主從複製_複製過濾MySql
- mysql資料庫的主從複製和主主複製實踐MySql資料庫
- MySQL(二):主從複製結構、半同步複製、雙主複製結構、利用SSL實現安全的MySQL主從複製MySql
- solr主從複製的原理Solr