เป้าหมายของฉันคือการย้ายข้อมูลผ่านการจำลองแบบจากชุดจำลอง mongodb หนึ่งชุดไปยังชุดจำลอง mongodb อื่น
ฉันกำลังพยายามย้ายข้อมูลจาก replicaset a (บน kubernetes คลัสเตอร์ a) ไปยัง replicaset b (บน kubernetes คลัสเตอร์ b)
ดูความพยายามของฉันด้านล่าง:
แผนภูมิหางเสือ bitnami/mongodb https://github.com/bitnami/charts/tree/master/bitnami/mongodb
ทั่วโลก:
เนมสเปซโอเวอร์ไรด์: mongodb
สถาปัตยกรรม: ชุดจำลอง
รับรองความถูกต้อง:
รหัสผ่านรูท: "<redacted>"
replicaSetKey: "ค่าเดียวกัน"
จำนวนซ้ำ: 1
บริการบัญชี:
สร้าง: จริง
อาร์แบค:
สร้าง: จริง
วิริยะ:
คลาสสตอเรจ: "mongodb"
ขนาด: 250Gi
การเข้าถึงภายนอก:
เปิดใช้งาน: จริง
การค้นหาอัตโนมัติ:
เปิดใช้งาน: จริง
ขั้นตอน
- สร้างชุดจำลอง A บน kubernetes คลัสเตอร์ A
- สร้างชุดจำลอง B บน kubernetes คลัสเตอร์ B
- เพิ่มสมาชิกจาก Replicapset B ไปยัง Replicaset A โดยใช้คำสั่ง
rs.add( { โฮสต์: "<host>:27017", ลำดับความสำคัญ: 0, โหวต: 0 } )
สมาชิกไม่สามารถเข้าร่วมได้
rs0 [โดยตรง: หลัก] ผู้ดูแลระบบ> rs.status()
{
ชุด: 'rs0',
วันที่: ISODate("2022-05-26T09:03:03.196Z"),
รัฐของฉัน: 1,
คำ: ยาว ("3"),
syncSourceHost: '',
syncSourceId: -1,
heartbeatIntervalMillis: ยาว ("2000"),
จำนวนเสียงข้างมาก: 2,
เขียนเสียงข้างมากจำนวน: 1,
โหวตจำนวนสมาชิก: 2,
เขียนได้VotingMembersCount: 1,
เวลาที่เหมาะสมที่สุด: {
lastCommittedOpTime: { ts: การประทับเวลา({ t: 1653555782, i: 1 }), t: ยาว("3") },
LastCommentWallTime: ISODate("2022-05-26T09:03:02.147Z"),
readConcernMajorityOpTime: { ts: การประทับเวลา({ t: 1653555782, i: 1 }), t: ยาว("3") },
ใช้OpTime: { ts: การประทับเวลา({ t: 1653555782, i: 1 }), t: ยาว("3") },
DurableOpTime: { ts: การประทับเวลา({ t: 1653555782, i: 1 }), t: Long("3") },
เวลาที่ใช้ล่าสุด: ISODate("2022-05-26T09:03:02.147Z"),
lastDurableWallTime: ISODate("2022-05-26T09:03:02.147Z")
},
lastStableRecoveryTimestamp: การประทับเวลา ({ t: 1653555762, i: 1 }),
การเลือกตั้ง CandidateMetrics: {
lastElectionReason: 'electionTimeout',
LastElectionDate: ISODate("2022-05-26T08:59:02.135Z"),
ระยะเวลาการเลือกตั้ง: ยาว ("3"),
lastCommittedOpTimeAtElection: { ts: การประทับเวลา({ t: 1653555514, i: 1 }), t: ยาว("2") },
lastSeenOpTimeAtElection: { ts: การประทับเวลา({ t: 1653555514, i: 1 }), t: ยาว("2") },
จำนวนโหวตที่ต้องการ: 2,
ลำดับความสำคัญที่การเลือกตั้ง: 5,
การเลือกตั้งTimeoutMillis: ยาว ("10,000"),
numCatchUpOps: ยาว ("0"),
newTermStartDate: ISODate("2022-05-26T08:59:02.141Z"),
wMajorityWriteAvailabilityDate: ISODate("2022-05-26T08:59:02.142Z")
},
สมาชิก: [
{
_id: 0,
ชื่อ: '<redacted_a>:27017',
สุขภาพ: 1,
สถานะ: 1,
stateStr: 'ประถมศึกษา'
เวลาทำงาน: 167634,
เวลาที่เหมาะสม: { ts: การประทับเวลา({ t: 1653555782, i: 1 }), t: ยาว("3") },
opttimeDate: ISODate("2022-05-26T09:03:02.000Z"),
เวลาที่ใช้ล่าสุด: ISODate("2022-05-26T09:03:02.147Z"),
lastDurableWallTime: ISODate("2022-05-26T09:03:02.147Z"),
syncSourceHost: '',
syncSourceId: -1,
ข้อมูลข้อความ: '',
ElectionTime: การประทับเวลา ({ t: 1653555542, i: 1 }),
ElectionDate: ISODate("2022-05-26T08:59:02.000Z"),
configVersion: 5,
configTerm: 3,
ตัวเอง: จริง,
ข้อความการเต้นของหัวใจล่าสุด: ''
},
{
_id: 1,
ชื่อ: 'mongodb-prod-arbiter-0.mongodb-prod-arbiter-headless.mongodb.svc.cluster.local:27017',
สุขภาพ: 1,
สถานะ: 7,
stateStr: 'ผู้ตัดสิน',
เวลาทำงาน: 250,
LastHeartbeat: ISODate("2022-05-26T09:03:01.611Z"),
LastHeartbeatRecv: ISODate("2022-05-26T09:03:01.691Z"),
pingMs: ยาว ("0"),
ข้อความฮาร์ทบีทล่าสุด: '',
syncSourceHost: '',
syncSourceId: -1,
ข้อมูลข้อความ: '',
configVersion: 5,
configTerm: 3
},
{
_id: 2,
ชื่อ: '<redacted_b>',
สุขภาพ: 0,
รัฐ: 8,
stateStr: '(ไม่สามารถเข้าถึงได้/มีสุขภาพดี)',
เวลาทำงาน: 0,
เวลาที่เหมาะสม: { ts: การประทับเวลา({ t: 0, i: 0 }), t: ยาว("-1") },
opttimeDurable: { ts: การประทับเวลา({ t: 0, i: 0 }), t: ยาว("-1") },
วันที่เหมาะสม: ISODate("1970-01-01T00:00:00.000Z"),
opttimeDurableDate: ISODate("1970-01-01T00:00:00.000Z"),
เวลาที่ใช้ล่าสุด: ISODate("1970-01-01T00:00:00.000Z"),
lastDurableWallTime: ISODate("1970-01-01T00:00:00.000Z"),
LastHeartbeat: ISODate("2022-05-26T09:03:01.719Z"),
LastHeartbeatRecv: ISODate("1970-01-01T00:00:00.000Z"),
pingMs: ยาว ("0"),
lastHeartbeatMessage: "รหัสชุดจำลองไม่ตรงกัน ของเรา: 628cb373d4eda0a12d1a75e0; โหนดระยะไกล: 628f3e9b4d975fb84fc5a5b1",
syncSourceHost: '',
syncSourceId: -1,
ข้อมูลข้อความ: '',
configVersion: -1,
configTerm: -1
}
]
ตกลง: 1,
'$clusterTime': {
clusterTime: การประทับเวลา ({ t: 1653555782, i: 1 }),
ลายเซ็น: {
แฮช: ไบนารี (Buffer.from ("cf0cde3a5498d190d7258912ea99822796fda70f", "hex"), 0),
รหัสคีย์: ยาว("7101248018959040517")
}
},
operationTime: การประทับเวลา ({ t: 1653555782, i: 1 })
}
{"t":{"$date":"2022-05-26T09:07:22.362+00:00"},"s":"I", "c":"REPL_HB", "id":23974, "ctx":"ReplCoord-4","msg":"Heartbeat ล้มเหลวหลังจากการลองใหม่สูงสุด","attr":{"target":"<redacted_b>","maxHeartbeatRetries":2,"error":{"code ":93,"codeName":"InvalidReplicaSetConfig","errmsg":"รหัสชุดแบบจำลองไม่ตรงกัน ของเรา: 628cb373d4eda0a12d1a75e0; โหนดระยะไกล: 628f3e9b4d975fb84fc5a5b1"}}}