我在ubuntu上有一個mongodb replicaset。在副本集中,主機被定義爲localhost。你可以看到;mongodb replicaset主機名更改錯誤
{
"_id" : "myrep",
"version" : 4,
"members" : [
{
"_id" : 0,
"host" : "localhost:27017"
},
{
"_id" : 2,
"host" : "localhost:27018"
},
{
"_id" : 1,
"host" : "localhost:27019",
"priority" : 0
}
]
}
我想換主機與不會忽略服務器的真實IP。但是當我運行rs.reconfig,我得到錯誤:
{
"assertion" : "hosts cannot switch between localhost and hostname",
"assertionCode" : 13645,
"errmsg" : "db assertion failure",
"ok" : 0
}
我該怎麼解決呢? 謝謝。
這工作 - 你必須重新啓動後的mongod,以確保新主機設置回升。成功後,「rs.status()」將爲每個成員返回正確的主機名。 – seanhodges
這繞過了改變主機的錯誤,但我發現我也必須執行cfg = rs.conf(); rs.reconfig(CFG);重新啓動後,使這個堅持。 – asparagino