一、查看主从状态

1、rs.status()

 

状态值     状态名           状态说明
0       STARTUP       所有成员都以该状态启动,mongod在启动状态下解析副本集配置文档。
1       PRIMARY       主节点状态,唯一支持写的节点。有投票资格
2       SECONDARY      从节点状态,复制同步数据。有投票资格
3       RECOVERING     恢复状态,要么从完成回滚或重新同步过渡。有投票资格
5       STARTUP2      加入副本集,并正在运行初始同步。有投票资格
6       UNKNOWN       从副本集的另一个成员的角度来看,该成员的状态尚不清楚。没有投票资格
7       ARBITER      仲裁节点状态,不复制数据,仅存在于参加选举中。 有投票资格
8       DOWN         从副本集的另一个成员的角度来看,该成员不可访问。没有投票资格
9       ROLLBACK      回滚节点状态,无法从该成员读取数据。有投票资格
10      REMOVED        删除节点状态,从副本集中删除。

2、查看从库延时情况

--4.0以上

rs.printSecondaryReplicationInfo()  

--4.0以下

rs.printSlaveReplicationInfo()

 

二、恢复从库

https://www.mongodb.com/docs/manual/tutorial/resync-replica-set-member/

1、重做从库

1)关闭损坏的从库

2)删除从库data目录下所有的数据

3)开启从库,将自动恢复

4)问题点(为解决)

从库恢复过程中总是timeout ,可能是另一个从库负载太高导致

 2、备份恢复

1)使用createBackup做的备份(物理备份)

2)删除损坏从库/data下所有数据

3)将createBackup做的备份解压到/data目录下

4)开启从库

createBackup备份示例:

${bin_path}/mongo ${host}:${port}/admin -u ${account} -p ${password} > ${backup_log} << EOF
use admin;
db.runCommand({createBackup: 1,backupDir: "${BACKUP_PATH_DATE}"});
exit;
EOF

 posted on 2023-11-08 09:56  xibuhaohao  阅读(445)  评论(0)    收藏  举报