MongoMultiMasterはあなたのMongoDBとのマルチマスターレプリケーションを設定することができますPythonのツールです それは強調10gen、MongoDBののメーカーがサポートされていません。
それは、1レプリカセットにoplogを照会し、別のレプリカセットに事業を適用することにより動作します。それは、そのソースに複製された各ドキュメントをタグ付けすることによって双方向レプリケーションをサポートしています。
のインストールの
インストールするには、PIPを使用します。
MongoMultiMasterをインストールピップ
のMongoDBの設定の
MMMは、各マスターのためのoplogレプリカセットにアクセスする必要があります。これは、スタンドアロンサーバーとして構成されているサーバーでは動作しないことを意味します。シングルトンレプリカセットにスタンドアロンサーバに変換するには、最初にあなたはそれが起動時に中だセットについて、それを指示する必要があります。
 のmongod --replSetのfoo
その後、レプリカセットを開始するには、モンゴシェルで次のように実行する必要があります。
> rs.initiate()
のMongoMultiMasterレプリケーションセットアップの
あなたはレプリカセットのマスターを作成したら、あなたはサーバがどこにいるMMMに指示する必要があります。これは、YAML設定ファイルを介して行われます。 2サーバーでのサンプル設定ファイルを以下に含まれています:
SERVER_A:
  ID:「2c88ae84-7cb9-40f7-835d-c05e981f564d」
  URI:「MongoDBは:// localhostを:27019]
SERVER_B:
  ID:「0d9c284b-b47c-40b5-932c-547b8685edd0」
  URI:「MongoDBは:// localhostを:27017]
まずは、何も設定がありませんことを確認し、我々は設定ファイル内のすべてのサーバーに接続できることをしてみましょう:
MMM -c test.ymlクリア設定
サーバー上の設定をクリアすることについて:['SERVER_A'、 'SERVER_Bを']、よろしいですか? (アルキニル)Y
SERVER_Aのための明確な設定
SERVER_Bのための明確な設定
  MMM -c test.ymlダンプ-config設定
===サーバ設定===
SERVER_A(2c88ae84-7cb9-40f7-835d-c05e981f564d)=> MongoDBは:// localhostを:27019
SERVER_B(0d9c284b-b47c-40b5-932c-547b8685edd0)=> MongoDBは:// localhostを:27017
=== SERVER_Aレプリケーション構成
=== SERVER_Bレプリケーション構成
次に、我々は2つのレプリケートされたコレクションをセットアップします:
  MMM -c test.yml複製--src = SERVER_A / test.foo --dst = SERVER_B / test.foo
  MMM -c test.yml複製--src = SERVER_A / test.bar --dst = SERVER_B / test.bar
そして、彼らが正しく設定されているを確認します。
MMM -c test.ymlダンプ-config設定
===サーバ設定===
SERVER_A(2c88ae84-7cb9-40f7-835d-c05e981f564d)=> MongoDBは:// localhostを:27019
SERVER_B(0d9c284b-b47c-40b5-932c-547b8685edd0)=> MongoDBは:// localhostを:27017
=== SERVER_Aレプリケーション構成
=== SERVER_Bレプリケーション構成
&NBSP; - test.foo <= SERVER_A / test.foo
&NBSP; - test.bar <= SERVER_A / test.bar
それでは、レプリケーション双方向のを作ろう:
&NBSP; MMM -c test.yml複製--src = SERVER_B / test.foo --dst = SERVER_A / test.foo
&NBSP; MMM -c test.yml複製--src = SERVER_B / test.bar --dst = SERVER_A / test.bar
そして、それが正しいだことを確認して...
MMM -c test.ymlダンプ-config設定
===サーバ設定===
SERVER_A(2c88ae84-7cb9-40f7-835d-c05e981f564d)=> MongoDBは:// localhostを:27019
SERVER_B(0d9c284b-b47c-40b5-932c-547b8685edd0)=> MongoDBは:// localhostを:27017
=== SERVER_Aレプリケーション構成
&NBSP; - test.foo <= SERVER_B / test.foo
&NBSP; - test.bar <= SERVER_B / test.bar
=== SERVER_Bレプリケーション構成
&NBSP; - test.foo <= SERVER_A / test.foo
&NBSP; - test.bar <= SERVER_A / test.bar
今、私たちは、レプリケータを実行できます。
&NBSP; MMM -c test.ymlラン
の名所の考慮すべき
- あなたは多くのことを書いている場合は、レプリケーションは、背後に落ちることができます。これは、すべてで処理されていません。
- レプリケーションは、MMM、実行が最初に呼び出された時点で開始されます。あなたが/停止MMMを開始し、それが中断したところ、それが拾う持っていることができるはずです。
- マスター間の競合が処理されません。あなたが頻繁に両方のヘッドで同じドキュメントに書いている場合は、同期から抜け出すことができます。
- レプリケーションは、最後の文書を書いたサーバのUUIDを示すために、各文書に簿記フィールドを挿入します。これはわずかに各文書のサイズを拡大する。
シャープなエッジ、他逃したバグ、あなたが徹底的なテストを行わず生産システムにMMMを使用している場合あなたを待って、様々な嫌なことはおそらくあります。しかし、あなたはそれを試してみること自由に感じ、ハサミを持って突っ走る、そうでなければ危険なほど住んでいるような場合は、
の要件の:ます。
- Pythonを
コメントが見つかりません