我從here副本集配置無效或者我們是不是它的成員,在kubernetes
張貼了這個問題,我在kubernetes環境中運行的分片的MongoDB,有3個碎片,並在每3個實例上運行碎片。出於某些原因,我的mongodb實例已被重新安排到另一臺機器。
問題是當一個mongodb實例重新安排到另一個實例時,它的replica config
將會失效。導致下面的這個錯誤。
> rs.status()
{
"state" : 10,
"stateStr" : "REMOVED",
"uptime" : 2110,
"optime" : Timestamp(1448462710, 6),
"optimeDate" : ISODate("2015-11-25T14:45:10Z"),
"ok" : 0,
"errmsg" : "Our replica set config is invalid or we are not a member of it",
"code" : 93
}
>
這是配置
> rs.config().members
[
{
"_id" : 0,
"host" : "mongodb-shard2-service:27038",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : 0,
"votes" : 1
},
{
"_id" : 1,
"host" : "shard2-slave2-service:27039",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : 0,
"votes" : 1
},
{
"_id" : 2,
"host" : "shard2-slave1-service:27033",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : 0,
"votes" : 1
}
]
和的重組MongoDB實例
> db.serverStatus()
{
"host" : "mongodb-shard2-master-ofgrb",
"version" : "3.0.7",
"process" : "mongod",
"pid" : NumberLong(8),
我希望我正在感db.serverStatus()
樣本..因爲,我會用這在現場製作很快..謝謝!
感謝您的評論。不幸的是,我放棄了在生產中使用k8s來處理這件事。部署mongodb的使用泊塢窗工具。直到k8s修復主機名稱,在這種情況下不可能部署mongodb和其他數據庫,如neo4j和likes。嘗試了所有可能的解決方案,但k8s中的mongodbs的維護和管理令人頭疼。 – Hokutosei
順便說一句,在GKE中部署了mongodb的/ neo4j用於較小和開發項目。 – Hokutosei