在CentOS上實現MongoDB的自動故障轉移主要通過配置副本集(Replica Set)來完成。以下是詳細的步驟:
編輯MongoDB配置文件(通常是mongod.conf),設置副本集的名稱和成員信息。例如:
replication:
replSetName: "rs0"
啟動MongoDB實例時,使用--replSet參數指定副本集名稱。例如:
mongod --replSet rs0
連接到其中一個MongoDB實例,然后運行rs.initiate()命令來初始化副本集。例如:
rs.initiate(
{
_id: "rs0",
members: [
{ _id: 0, host: "mongo1:27017" },
{ _id: 1, host: "mongo2:27017" },
{ _id: 2, host: "mongo3:27017" }
]
}
)
使用rs.add()命令將其他MongoDB實例添加到副本集中。例如:
rs.add("mongo4.example.com:27017")
rs.add("mongo5.example.com:27017")
使用rs.status()命令查看副本集的狀態,包括主節點、從節點和其他信息。例如:
rs.status()
如果需要手動觸發故障轉移,可以使用rs.stepDown()命令讓當前主節點降級為從節點。例如:
rs.stepDown(60) # 60秒后降級
通過以上步驟,您可以在CentOS上配置MongoDB以實現自動故障轉移,從而提高系統的可用性和容錯性。