記錄在 SUSE、CentOS、FreeBSD、RedHat 四種 Linux/Unix 平台上部署 4 節點 MongoDB 副本集(名稱 jieshi)的完整過程,含配置、初始化、新增成員、Primary 選舉、故障模擬與驗證。
192.168.16.234 (SUSE)、.103 (CentOS)、.216 (FreeBSD)、.211 (RHEL6)。/etc/mongod.conf 設定 replSet = jieshi 並重啟。admin、local),否則 rs.initiate() 會報錯。hapameconfig = {
_id: "jieshi",
members: [
{ _id: 0, host: "192.168.16.234" },
{ _id: 1, host: "192.168.16.103" },
{ _id: 2, host: "192.168.16.216" }
]
}
rs.initiate(hapameconfig)
驗證:rs.status() 顯示 1 Primary (State 1)、2 Secondary (State 2)、Health 全 1。
replSet=jieshi,啟動後日誌顯示 EMPTYCONFIG 等待加入。rs.add("192.168.16.211")。rs.conf() 版本號遞增,rs.status() 顯示新節點 State 2,同步完成。show dbs、insert 正常。not master (code 10107)。需 rs.slaveOk() 或連接字串加 readPreference=secondaryPreferred 才能讀取。rs.isMaster().ismaster=true)。rs.stepDown() 或優先級配置)。| 指令 | 用途 |
|---|---|
rs.status() | 查看成員狀態、Health、State、Optime |
rs.isMaster() | 確認 Primary/Secondary、Primary IP |
rs.conf() | 查看當前配置版本與成員列表 |
rs.add("host:port") | 新增成員(只能在 Primary 執行) |
rs.remove("host:port") | 移除成員 |
rs.stepDown() | 主動降級 Primary |
authorization、keyFile 加密節點間通訊。priority、hidden、arbiterOnly 等標籤控制選舉行為。replication lag、oplog window、election metrics。