生活随笔
收集整理的這篇文章主要介紹了
MongoDB高可用集群搭建
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
mongoDB副本集搭建
準備三臺服務(wù)器:
10.175.120.131(主節(jié)點)
10.175.121.134(副本節(jié)點)
10.175.121.136(副本節(jié)點)
1.分別在每臺服務(wù)器上安裝MongoDB,并通過配置文件啟動服務(wù),配置文件如下:
dbpath=/data/db ? ? ? ? ? ? ? #指定數(shù)據(jù)庫路徑logpath=/data/mongodb.log ? ? #指定日志文件路徑logappend=true ? ? ? ? ? ? ? ?#在日志文件持續(xù)添加port=27017 ? ? ? ? ? ? ? ? ? ?#端口號bind_ip=0.0.0.0 ? ? ? ? ? ? ? #允許遠程訪問fork=true ? ? ? ? ? ? ? ? ? ? #后臺運行replSet=admin ? ? ? ? ? ? ? ? #設(shè)置副本集名稱
?2.進入MongoDB后臺管理 Shell
./momgo
3.使用admin數(shù)據(jù)庫
> use admin
4.?定義副本集配置變量,這里的 _id:”admin” 和配置文件中的“replSet=admin”?要保持一致
> config = { _id:
"admin",members:[{_id:0,host:"10.175.120.131:27017"},{_id:1,host:
"10.175.121.134:27017"},{_id:2,host:
"10.175.121.136:27017"}]}
?5.初始化副本集配置
> rs.initiate(config)
6.查看集群節(jié)點的狀態(tài)
> rs.status()
?輸出:
{ ? ? ? ?"set" :
"admin", ? ? ? ?"date" : ISODate(
"2018-09-21T08:52:24.064Z"), ? ? ? ?"myState" : 1
, ? ? ? ?"term" : NumberLong(3
), ? ? ? ?"heartbeatIntervalMillis" : NumberLong(2000
), ? ? ? ?"optimes" : { ? ? ? ? ? ? ? ?"lastCommittedOpTime" : { ? ? ? ? ? ? ? ? ? ? ? ?"ts" : Timestamp(1537519943, 1
), ? ? ? ? ? ? ? ? ? ? ? ?"t" : NumberLong(3
)}, ? ? ? ? ? ? ? ?"readConcernMajorityOpTime" : { ? ? ? ? ? ? ? ? ? ? ? ?"ts" : Timestamp(1537519943, 1
), ? ? ? ? ? ? ? ? ? ? ? ?"t" : NumberLong(3
)}, ? ? ? ? ? ? ? ?"appliedOpTime" : { ? ? ? ? ? ? ? ? ? ? ? ?"ts" : Timestamp(1537519943, 1
), ? ? ? ? ? ? ? ? ? ? ? ?"t" : NumberLong(3
)}, ? ? ? ? ? ? ? ?"durableOpTime" : { ? ? ? ? ? ? ? ? ? ? ? ?"ts" : Timestamp(1537519943, 1
), ? ? ? ? ? ? ? ? ? ? ? ?"t" : NumberLong(3
)}}, ? ? ? ?"members" : [{ ? ? ? ? ? ? ? ? ? ? ? ?"_id" : 1
, ? ? ? ? ? ? ? ? ? ? ? ?"name" :
"10.175.120.131:27017", ? ? ? ? ? ? ? ? ? ? ? ?"health" : 1
, "state" : 1
, ? ? ? ? ? ? ? ? ? ? ? ?"stateStr" :
"PRIMARY", ? ? ? ? ? ? ? ? ? ? ? ?"uptime" : 5874
, ? ? ? ? ? ? ? ? ? ? ? ?"optime" : { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"ts" : Timestamp(1537519943, 1
), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"t" : NumberLong(3
)}, ? ? ? ? ? ? ? ? ? ? ? ?"optimeDate" : ISODate(
"2018-09-21T08:52:23Z"), ? ? ? ? ? ? ? ? ? ? ? ?"electionTime" : Timestamp(1537514082, 1
), ? ? ? ? ? ? ? ? ? ? ? ?"electionDate" : ISODate(
"2018-09-21T07:14:42Z"), ? ? ? ? ? ? ? ? ? ? ? ?"configVersion" : 1
, ? ? ? ? ? ? ? ? ? ? ? ?"self" : true},{ ? ? ? ? ? ? ? ? ? ? ? ?"_id" : 2
, ? ? ? ? ? ? ? ? ? ? ? ?"name" :
"10.175.121.134:27017", ? ? ? ? ? ? ? ? ? ? ? ?"health" : 1
, ? ? ? ? ? ? ? ? ? ? ? ?"state" : 2
, ? ? ? ? ? ? ? ? ? ? ? ?"stateStr" :
"SECONDARY", ? ? ? ? ? ? ? ? ? ? ? ?"uptime" : 5861
, ? ? ? ? ? ? ? ? ? ? ? ?"optime" : { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"ts" : Timestamp(1537519933, 1
), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"t" : NumberLong(3
)}, ? ? ? ? ? ? ? ? ? ? ? ?"optimeDurable" : { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"ts" : Timestamp(1537519933, 1
), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"t" : NumberLong(3
)}, ? ? ? ? ? ? ? ? ? ? ? ?"optimeDate" : ISODate(
"2018-09-21T08:52:13Z"), ? ? ? ? ? ? ? ? ? ? ? ?"optimeDurableDate" : ISODate(
"2018-09-21T08:52:13Z"), ? ? ? ? ? ? ? ? ? ? ? ?"lastHeartbeat" : ISODate(
"2018-09-21T08:52:23.012Z"), ? ? ? ? ? ? ? ? ? ? ? ?"lastHeartbeatRecv" : ISODate(
"2018-09-21T08:52:23.584Z"), ? ? ? ? ? ? ? ? ? ? ? ?"pingMs" : NumberLong(0), ? ? ? ? ? ? ? ? ? ? ? ?"syncingTo" :
"10.175.120.131:27017", ? ? ? ? ? ? ? ? ? ? ? ?"configVersion" : 1
},{ ? ? ? ? ? ? ? ? ? ? ? ?"_id" : 3
, ? ? ? ? ? ? ? ? ? ? ? ?"name" :
"10.175.121.136:27017", ? ? ? ? ? ? ? ? ? ? ? ?"health" : 1
, ? ? ? ? ? ? ? ? ? ? ? ?"state" : 2
, ? ? ? ? ? ? ? ? ? ? ? ?"stateStr" :
"SECONDARY", ? ? ? ? ? ? ? ? ? ? ? ?"uptime" : 5866
, ? ? ? ? ? ? ? ? ? ? ? ?"optime" : { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"ts" : Timestamp(1537519933, 1
), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"t" : NumberLong(3
)}, ? ? ? ? ? ? ? ? ? ? ? ?"optimeDurable" : { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"ts" : Timestamp(1537519933, 1
), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"t" : NumberLong(3
)}, ? ? ? ? ? ? ? ? ? ? ? ?"optimeDate" : ISODate(
"2018-09-21T08:52:13Z"), ? ? ? ? ? ? ? ? ? ? ? ?"optimeDurableDate" : ISODate(
"2018-09-21T08:52:13Z"), ? ? ? ? ? ? ? ? ? ? ? ?"lastHeartbeat" : ISODate(
"2018-09-21T08:52:23.013Z"), ? ? ? ? ? ? ? ? ? ? ? ?"lastHeartbeatRecv" : ISODate(
"2018-09-21T08:52:23.558Z"), ? ? ? ? ? ? ? ? ? ? ? ?"pingMs" : NumberLong(0), ? ? ? ? ? ? ? ? ? ? ? ?"syncingTo" :
"10.175.120.131:27017", ? ? ? ? ? ? ? ? ? ? ? ?"configVersion" : 1
}], ? ? ? ?"ok" : 1
, ? ? ? ?"operationTime" : Timestamp(1537519943, 1
), ? ? ? ?"$clusterTime" : { ? ? ? ? ? ? ? ?"clusterTime" : Timestamp(1537519943, 1
), ? ? ? ? ? ? ? ?"signature" : { ? ? ? ? ? ? ? ? ? ? ? ?"hash" : BinData(0,
"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), ? ? ? ? ? ? ? ? ? ? ? ?"keyId" : NumberLong(0)}}
}
?輸出部分參數(shù)說明:
"health" : 1,
#代表機器正常 "stateStr" :
"PRIMARY",
#代表是主節(jié)點,可讀寫,其中有以下幾下狀態(tài)1
. STARTUP:剛加入到復(fù)制集中,配置還未加載
2
. STARTUP2:配置已加載完,初始化狀態(tài)
3
. RECOVERING:正在恢復(fù),不適用讀
4
. ARBITER: 仲裁者
5
. DOWN:節(jié)點不可到達
6
. UNKNOWN:未獲取其他節(jié)點狀態(tài)而不知是什么狀態(tài),一般發(fā)生在只有兩個成員的架構(gòu),腦裂
7
. REMOVED:移除復(fù)制集
8
. ROLLBACK:數(shù)據(jù)回滾,在回滾結(jié)束時,轉(zhuǎn)移到RECOVERING或SECONDARY狀態(tài)
9
. FATAL:出錯。查看日志grep “replSet FATAL”找出錯原因,重新做同步
10
. PRIMARY:主節(jié)點
11. SECONDARY:備份節(jié)點
總結(jié)
以上是生活随笔為你收集整理的MongoDB高可用集群搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。