web-dev-qa-db-ja.com

MongoDBレプリカセットの設定をリセットする方法

レプリカの設定からやり直したいのですが可能ですか?リセットするには?

group でデータベースのコンテンツを削除するように言っていますが、回避策はありますか?

16
Ryan

データを保持したいがレプリカセットの外で開始したい場合は、--replSetなしで、別のポートでmongodプロセスを再起動します。それはあなたにスタンドアロンのmongodを与えるでしょう。

レプリカセットの構成がインスタンスから完全に削除されたことを確認するには、local.system.replsetコレクションが空であることを確認してください。

これが完了し、スタンドアロンインスタンスに満足したら、別の--replSet引数を使用して再起動し、レプリカセットの構成プロセスを再度実行できます。

http://www.mongodb.org/display/DOCS/Replica+Set+Configuration

もう1つのオプションは、お伝えしたように、すべてのデータファイルを削除し、最初から完全に開始することです。

19
Adam C

レプリカセットの構成をリセットするためにデータベースファイルを削除する必要はありません。

構成をリセットするには、レプリカセットのすべてのノードが停止していることを確認してください。次に、すべてのノードの「ローカル」データベースを削除します。

すべてのノードが実行されておらず、「ローカル」データベースがなくなっていると確信できたら、mongodプロセスを再起動します(もちろん--replSetフラグを使用します)。次に、rs.initiate()を実行します。

5
akskung
  1. セカンダリサーバーのmongo Shellに移動します

  2. 以下のコマンドを使用して、セカンダリサーバーを停止します。

    _use admin
    db.shutdownServer()
    _
  3. プライマリmongoシェルに移動し、以下のコマンドを入力します。

    _rs.remove()
    _

    ステータスを確認するには、rs.status()を使用します

詳細については、以下のリンクを確認してください: http://www.learnit.net.in/2016/03/stopping-and-starting-mongodb.html

  1. _/etc/mongod.conf_を編集してコメントアウト_replication: block_
  2. _service mongod restart_
  3. mongo local --eval "db.dropDatabase()"
  4. _service mongod stop_
  5. mongoプライマリ:rs.add("this node")
  6. _/etc/mongod.conf_を編集し、_replication: block_のコメントを外します
  7. _service mongod restart_

ノードが既存のレプリカセットに追加され、既存のプライマリへの同期が開始されます

1
blueheart_2