2016-09-07 5 views
1

mongoを完全に再インストールした後でも、前回と同じレプリカセットの設定が記憶されています。どこにこれが保存されていますか?mongoの複製設定はどこに保存されていますか?

プロジェクトのユーザアカウントを使用して、Linuxサーバにmongoをインストールしました。私は複製をセットアップして正常に動作していました。次に、より細かいインストールポイントをテストするために、mongoディレクトリ全体を削除して再インストールしました。 mongoに入ると、以前と同じように複製が既に設定されていることがわかりました。 mongoが情報をどこかに格納しているように見えるでしょう。 Mongoのディレクトリに、

  1. まず、それは削除されました:

    私は、レプリカセットの設定を保持されている場合がありますいくつかのエリアをチェックしています。

  2. おそらくrootによって所有されている伝統的なLinuxの構造では、プロジェクトユーザーはrootアクセス権とmongoを持っていません。
  3. プロジェクトユーザーのホームディレクトリ。これにはコマンドライン履歴が含まれる.dbshel​​lファイルがありますが、それだけです。そこに他のファイルは見当たらなかった。
  4. mongo設定で指定された場所があります。しかし、そこにはシステムログ(systemLog.path)とストレージ(storage.dbPath)の2つのパスがあり、削除されたmongoディレクトリを指しています。

mongoがこの設定情報をどこに保存しているか知っていますか?

+0

Mongoシェルでrs.help()とrs.status()を使用するのがよいでしょう。 rs.conf()は、現在のレプリケーション設定を表示します。 – dyouberg

+0

実際には、rs.status()は元の情報がすべて出てきたことを知っています。残念ながら、情報が格納されているマシン上のどの物理的な場所に関する情報は提供されません。しかし、ありがとう。 –

答えて

4

各ノードのlocal database(MongoDB 3.2.9以降)に複製データが格納されています。このデータベースには、レプリカセットに関する情報が含まれており、oplogoplog.rsコレクション)も含まれています。レプリカセット情報は、このlocalデータベースのsystem.replsetコレクションに格納されます。

このデータベースの物理ファイル(および他のデータベース用)を使用して構成することができるdbPath directoryに格納されている:

  • --dbpathパラメータconfiguration filemongod
  • storage.dbPath設定を開始するとき

デフォルト値dbpathは、/data/db

です。

dbpathディレクトリを空にすると、レプリカセットの設定は保持されません。レプリケーション設定が保持されている場合は、dbpathの設定が正しくない可能性があります。

+0

私は上にはっきりしていませんでしたが、私が削除しているmongoディレクトリにある 'dbPath'を設定しています。しかし、私はちょうど全体のプロセスを再度行って、rsの設定情報はなくなりました。私は最初に何を期待していただろうか。おそらく、私は前のステップの一つを前に持っていたでしょう。私は先に進んで正しい答えとしてこれをチェックしなければならないので、これをユーザーエラーにマークします。 –

関連する問題