web-dev-qa-db-ja.com

MongoDB 3を使用してレプリカセットを構成できません

MongoDBバージョン3.04でレプリカセットを作成しようとしています。私はこれに従いました チュートリアル で、プライマリサーバーを使用してノードを追加しようとしたときに次のエラーが発生しました。

vacrep:PRIMARY> rs.add('server address here')
{
    "ok" : 0,
    "errmsg" : "Quorum check failed because not enough voting nodes responded;
     required 2 but only the following 1 voting nodes responded: PRIMARYSERVER:27017; 
     the following nodes did not respond affirmatively: 'server address here':27017 
     failed with Missing credentials for authenticating as internal user",
     "code" : 74
}

これは、これまでに行われたことです。

  1. MongoDB 3.04で3つのサーバーをインストールする
  2. RepSetモードですべてのMongoDBインスタンスを実行する
  3. これを使用してサーバー間の検証済み接続 アプローチ
  4. プライマリサーバーでレプリカを開始する)

私はこのエラーについていくつかのスレッドを見つけられませんでしたが、それらのいずれにも解決策を見つけることができませんでした。どうすればこれを解決できますか?

5
Ofir

解決策を見つけた-それは許可の問題でした。

MongoDB構成ファイルでは、このガイドを使用して、認証モードをオフにするか、すべてのノード間で共有キーを作成する必要がありました。

https://docs.mongodb.com/manual/tutorial/deploy-replica-set-with-keyfile-access-control/#deploy-repl-set-with-auth

これが私のサーバーが互いに通信できなかった理由でした。

3
Ofir

上記の答えが明らかに正しいことに加えて、次の手順はkeyFilesの作成に役立ちます。

  1. 任意のテキストエディターで新しいタブを開き、スペースを入れずに必要な任意のキーを貼り付けます。
  2. 拡張子なしでファイルを保存します
  3. 次のように、各mongoインスタンスをシャットダウンします。

    a。 _use admin_

    b。 db.shutdownServer();

  4. 次に、引数としてkeyFileを使用してmongoインスタンスを再起動します。

    例えば_start "jaguar" mongod --dbpath "D:\Mongo\data\Replica Sets\Jaguar" --port 50000 --replSet "clusterset" --keyFile "D:\Mongo\data\Replica Sets\Jaguar\Key\F2AB9B2DCF7933733A35EE9C81C34"_

0
Necromancer