mongo 單節點 搭建複製集

2021-08-18 03:33:21 字數 2897 閱讀 8511



伺服器情況:

現有的單節點 primary     172.23.2.101:27017

新增的節點    secondry  172.23.2.102:27017

仲裁節點      arbiter   172.23.2.2:27017

mongo 版本 3.2.12

1.停止單節點primary的mongo服務

> use admin;  

switched to db admin 

> db.shutdownserver()

2.重新啟動primary節點,使用--replset的選項加上新複製集的名字 repl1

3.連線primary資料庫

4. 建立複製集配置資訊物件

config = ]}

5.初始化複製集並檢視複製集的執行狀態

> rs.initiate(config)

repl1:secondary> rs.status()

,23                         "optimedate" : isodate("2016-06-23t16:04:30z"),

24                         "infomessage" : "could not find member to sync from",

25                         "electiontime" : timestamp(1466697868, 2),

26                         "electiondate" : isodate("2016-06-23t16:04:28z"),

27                         "configversion" : 1,

28                         "self" : true

29                 }

30         ],

31         "ok" : 1

6.啟動 secondry mongo節點服務

root@linux-mongo2:/home/ubuntu

7.在primary節點將 secondry mongo節點新增到複製集裡

repl1:primary> rs.add("172.23.2.102:27017")

8.啟動 arbiter mongo仲裁節點

root@linux-mongo2:/home/ubuntu

# mkdir -p /sdb1/mongodb/arb

root@linux-mongo2:/home/ubuntu

9.在主節點將仲裁節點新增在複製集中,並檢視最終的複製集狀態

1 repl1:primary> rs.addarb("172.23.2.2:27017")

2 3

4 repl1:primary> rs.status()

5 ,23                         "optimedate" : isodate("2016-06-23t16:27:48z"),

24                         "electiontime" : timestamp(1466697868, 2),

25                         "electiondate" : isodate("2016-06-23t16:04:28z"),

26                         "configversion" : 3,

27                         "self" : true

28                 },

29                 ,

40                         "optimedate" : isodate("1970-01-01t00:00:00z"),

41                         "lastheartbeat" : isodate("2016-06-23t16:27:54.499z"),

42                         "lastheartbeatrecv" : isodate("2016-06-23t16:27:54.561z"),

43                         "pingms" : numberlong(0),

44                         "syncingto" : "192.168.126.9:27017",

45                         "configversion" : 3

46                 },

47                

59         ],

60         "ok" : 1

61 }

注意: 這裡副本集 192.168.126.8 的狀態是 "startup2" ,是由於primary庫的資料很大,導致一直處於初始化的同步資料階段。

其中 state 複製集狀態:

複製集狀態:

startup:剛加入到複製集中,配置還未載入

startup2:配置已載入完,初始化狀態

recovering:正在恢復,不適用讀

arbiter: 仲裁者

down:節點不可到達

unknown:未獲取其他節點狀態而不知是什麼狀態,一般發生在只有兩個成員的架構,腦裂

removed:移除複製集

rollback:資料回滾,在回滾結束時,轉移到recovering或secondary狀態

fatal:出錯。檢視日誌grep "replset fatal"找出錯原因,重新做同步

primary:主節點

secondary:備份節點

mongo資料庫單節點搭建

wget mongo.tar tar zxvf mongo.tar cd mongo mkdir log data conf touch conf mongod.confvi conf mongod.confport 27017 dbpath data logpath log mongod.log ...

mongo資料庫單節點搭建

wget mongo.tar tar zxvf mongo.tar cd mongo mkdir log data conf touch conf mongod.confvi conf mongod.confport 27017 dbpath data logpath log mongod.log ...

mongo備份恢復(單機和複製集)

邏輯匯出,可以作做跨版本和公升級匯出 mongoexport uroot p port 27021 d test c t1 authenticationdatabase admin o service t1.json 匯出csv 格式 f 後跟列名 j 開啟併發匯入 mongoexport uroo...