レプリカセットからすべてのセカンダリホストを削除し(rs.remove('host:port'))、replSetパラメーターを指定せずにmongoデーモンを再起動し(/etc/mongo.confを編集)、セカンダリホストをスタンドアロンモードで再開します。
プライマリホストは、rs.removeを使用してレプリカセットから削除できないため、注意が必要です。レプリカセットにプライマリノードしかない場合は、mongoシェルを終了してmongoを停止する必要があります。次に、/ etc / mongo.confを編集し、replSetパラメーターを削除して、mongoを再起動します。mongoを起動すると、すでにスタンドアロンモードになっていますが、mongoシェルは次のようなメッセージを表示します。
2015-07-31T12:02:51.112 + 0100 [initandlisten] **警告:mongodは--replSetなしで開始されましたが、local.system.replsetに1つのドキュメントが存在します
警告を削除するには、2つの手順を実行できます:1)ローカルデータベースを削除してmongoを再起動します:
use local
db.dropDatabase();
/etc/init.d/mongod restart
2)または、それほど過激になりたくない場合は、次のことができます。
use local
db.system.replset.find()
次のようなメッセージが表示されます:
{ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] }
次に、次を使用して消去します:
db.system.replset.remove({ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] })
おそらくプロンプトが表示されます:
WriteResult({ "nRemoved" : 1 })
これで、mongoを再起動でき、警告が消え、警告なしでMongoがスタンドアロンモードになります