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


16

レプリカの構成を最初からやり直したいのですが、可能ですか?リセットする方法は?

グループの人々は、データベースの内容を削除すると言ってますが、すべての作業の周りにはあるのですか?

回答:


19

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

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

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

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

あなたが言及するように、他のオプションは、すべてのデータファイルを削除し、ゼロから完全に開始することです。


//同じDbフォルダを使用して、割り当てられたポートとは異なるポートでサーバーを起動します。mongoiクライアント経由で新しいポートに接続します。ローカルdb.system.replset.remove({"_ id": "replset"})を使用します// //引用符でreplsetを名前に変更しますか?db.system.replset.find()db.adminCommand({shutdown:1})//他のポートで再起動
tgkprog

5

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

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

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


4
  1. セカンダリサーバーのmongoシェルに移動します

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

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

    rs.remove()
    

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

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


1
  1. 編集/etc/mongod.confしてコメントアウトするreplication: block
  2. service mongod restart
  3. mongo local --eval "db.dropDatabase()"
  4. service mongod stop
  5. mongo primaryで: rs.add("this node")
  6. 編集/etc/mongod.confしてコメントを外しますreplication: block
  7. service mongod restart

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.