MongoDB修復config配置節點
生產環境的一套MongoDB發生故障,其中一個config節點的磁碟損壞。
修復流程如下:
修復流程如下:
-
# 登入到config庫,檢視config的節點狀態
-
# 可以看到_id為2的節點狀態是不可訪問的
-
[root@mongos-mq ~]# /opt/mongodb-linux-x86_64-3.2.10/bin/mongo --port 10000
-
MongoDB shell version: 3.2.10
-
connecting to: 127.0.0.1:10000/test
-
config_rs:PRIMARY> use admin
-
switched to db admin
-
config_rs:PRIMARY> db.auth("root", "xxx")
-
1
-
config_rs:PRIMARY> rs.status()
-
{
-
"set" : "config_rs",
-
"date" : ISODate("2018-05-30T04:53:21.081Z"),
-
"myState" : 1,
-
"term" : NumberLong(1),
-
"configsvr" : true,
-
"heartbeatIntervalMillis" : NumberLong(2000),
-
"members" : [
-
{
-
"_id" : 0,
-
"name" : "192.168.210.208:10000",
-
"health" : 1,
-
"state" : 1,
-
"stateStr" : "PRIMARY",
-
"uptime" : 1112804,
-
"optime" : {
-
"ts" : Timestamp(1527656000, 1),
-
"t" : NumberLong(1)
-
},
-
"optimeDate" : ISODate("2018-05-30T04:53:20Z"),
-
"electionTime" : Timestamp(1526543249, 2),
-
"electionDate" : ISODate("2018-05-17T07:47:29Z"),
-
"configVersion" : 3,
-
"self" : true
-
},
-
{
-
"_id" : 1,
-
"name" : "192.168.210.209:10000",
-
"health" : 1,
-
"state" : 2,
-
"stateStr" : "SECONDARY",
-
"uptime" : 1111358,
-
"optime" : {
-
"ts" : Timestamp(1527656000, 1),
-
"t" : NumberLong(1)
-
},
-
"optimeDate" : ISODate("2018-05-30T04:53:20Z"),
-
"lastHeartbeat" : ISODate("2018-05-30T04:53:20.836Z"),
-
"lastHeartbeatRecv" : ISODate("2018-05-30T04:53:19.329Z"),
-
"pingMs" : NumberLong(0),
-
"syncingTo" : "192.168.210.208:10000",
-
"configVersion" : 3
-
},
-
{
-
"_id" : 2,
-
"name" : "192.168.210.207:10000",
-
"health" : 0,
-
"state" : 8,
-
"stateStr" : "(not reachable/healthy)",
-
"uptime" : 0,
-
"optime" : {
-
"ts" : Timestamp(0, 0),
-
"t" : NumberLong(-1)
-
},
-
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
-
"lastHeartbeat" : ISODate("2018-05-30T04:53:20.850Z"),
-
"lastHeartbeatRecv" : ISODate("2018-05-26T09:07:27.318Z"),
-
"pingMs" : NumberLong(0),
-
"lastHeartbeatMessage" : "Connection refused",
-
"configVersion" : -1
-
}
-
],
-
"ok" : 1
-
}
-
-
# 在故障節點上面重新安裝MongoDB,建立資料檔案目錄
-
[root@tomcat-207 opt]# tar xfz mongodb-linux-x86_64-3.2.10.tgz
-
[root@tomcat-207 opt]# mkdir -p /data/mongodb_data/config_rs1_10000
-
-
# 配置引數檔案
-
[root@tomcat-207 opt]# cat /etc/mongodb/config_rs1_10000.conf
-
systemLog:
-
destination: file
-
path: /data/mongodb_data/config_rs1_10000/mongod.log
-
processManagement:
-
fork: true
-
net:
-
bindIp: 0.0.0.0
-
port: 10000
-
security:
-
keyFile: /data/mongodb_data/keyfile
-
storage:
-
dbPath: /data/mongodb_data/config_rs1_10000
-
directoryPerDB: true
-
operationProfiling:
-
slowOpThresholdMs: 100
-
mode: slowOp
-
replication:
-
replSetName: config_rs
-
sharding:
-
clusterRole: configsvr
-
-
# 從其他config節點複製過來keyfile檔案
-
[root@mongos-mq opt]# scp /data/mongodb_data/keyfile root@192.168.210.207:/data/mongodb_data/
-
-
# 啟動Mongo
-
[root@mongos-mq opt]# /opt/mongodb-linux-x86_64-3.2.10/bin/mongod -f /etc/mongodb/config_rs1_10000.conf
-
about to fork child process, waiting until server is ready for connections.
-
forked process: 3744
-
child process started successfully, parent exiting
-
-
# 檢視config節點狀態
-
# 所有的config節點都恢復正常
-
config_rs:PRIMARY> rs.status()
-
{
-
"set" : "config_rs",
-
"date" : ISODate("2018-05-30T05:29:40.103Z"),
-
"myState" : 1,
-
"term" : NumberLong(1),
-
"configsvr" : true,
-
"heartbeatIntervalMillis" : NumberLong(2000),
-
"members" : [
-
{
-
"_id" : 0,
-
"name" : "192.168.210.208:10000",
-
"health" : 1,
-
"state" : 1,
-
"stateStr" : "PRIMARY",
-
"uptime" : 1114983,
-
"optime" : {
-
"ts" : Timestamp(1527658178, 4),
-
"t" : NumberLong(1)
-
},
-
"optimeDate" : ISODate("2018-05-30T05:29:38Z"),
-
"electionTime" : Timestamp(1526543249, 2),
-
"electionDate" : ISODate("2018-05-17T07:47:29Z"),
-
"configVersion" : 3,
-
"self" : true
-
},
-
{
-
"_id" : 1,
-
"name" : "192.168.210.209:10000",
-
"health" : 1,
-
"state" : 2,
-
"stateStr" : "SECONDARY",
-
"uptime" : 1113537,
-
"optime" : {
-
"ts" : Timestamp(1527658178, 4),
-
"t" : NumberLong(1)
-
},
-
"optimeDate" : ISODate("2018-05-30T05:29:38Z"),
-
"lastHeartbeat" : ISODate("2018-05-30T05:29:39.535Z"),
-
"lastHeartbeatRecv" : ISODate("2018-05-30T05:29:39.941Z"),
-
"pingMs" : NumberLong(0),
-
"syncingTo" : "192.168.210.208:10000",
-
"configVersion" : 3
-
},
-
{
-
"_id" : 2,
-
"name" : "192.168.210.207:10000",
-
"health" : 1,
-
"state" : 2,
-
"stateStr" : "SECONDARY",
-
"uptime" : 1588,
-
"optime" : {
-
"ts" : Timestamp(1527658178, 4),
-
"t" : NumberLong(1)
-
},
-
"optimeDate" : ISODate("2018-05-30T05:29:38Z"),
-
"lastHeartbeat" : ISODate("2018-05-30T05:29:39.535Z"),
-
"lastHeartbeatRecv" : ISODate("2018-05-30T05:29:39.691Z"),
-
"pingMs" : NumberLong(0),
-
"syncingTo" : "192.168.210.209:10000",
-
"configVersion" : 3
-
}
-
],
-
"ok" : 1
- }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2155380/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mongodb主從仲裁節點配置MongoDB
- mongoDB當機修復MongoDB
- App.config自定義節點讀取APP
- MongoDB叢集搭建(包括隱藏節點,仲裁節點)MongoDB
- rac二節點例項redo故障無法啟動修復
- redis cluster 故障後,主從位於不同節點的修復。Redis
- redis cluster 強制kill某一個節點和shutdown某一個節點後修復過程Redis
- mongodb副本集新增刪除節點MongoDB
- MongoDB單節點部署與基本操作MongoDB
- MySQL MGR如何修復資料不一致的節點MySql
- 如何修復MySQL配置檔案?MySql
- Config 配置中心
- mongodb叢集節點故障的切換方法MongoDB
- SpringCloud Config 配置中心SpringGCCloud
- SpringCloud config native 配置SpringGCCloud
- win10電腦藍屏bad_system_config_info的修復方法Win10
- mongodb 基於oplog的時間點恢復MongoDB
- Android 修圖(換證件照背景,汙點修復)Android
- 單機Linux下搭建MongoDB副本集-三節點LinuxMongoDB
- Perfectly Clear WorkBench Mac影像細節修復軟體Mac
- Perfectly Clear WorkBench for Mac 影像細節修復軟體Mac
- Perfectly Clear WorkBench for Mac - 影像細節修復軟體Mac
- jenkins 節點配置使用小記Jenkins
- ElasticSearch(單節點)環境配置Elasticsearch
- Spring Cloud Config 配置中心SpringCloud
- webstrom配置一鍵修復ESLint的報錯WebEsLint
- Eslint 在phpstrom/Webstrom 中配置自動修復EsLintPHPWeb
- Centos7.9 部署mongodb高可用叢集 3節點CentOSMongoDB
- MongoDB分片叢集節點狀態stateStr:RECOVERING解決MongoDB
- redis cluster 故障後,主從位於相同節點的修復(丟失了部分資料)Redis
- win10電腦藍色畫面bad_system_config_info的修復方法Win10
- MongoDB 資料檔案損壞修復救命repair與致命危險MongoDBAI
- mysql_config_editor 配置工具MySql
- SpringCloud Netflix (六):Config 配置中心SpringGCCloud
- Lumen 要記得配置 config
- vue.config.js常用配置VueJS
- httprunner(6)配置資訊configHTTP
- MongoDB安全配置MongoDB