3つの方法でクラスタ:レプリカセット、シャーディング、マスター-よだれ三つの方法
一般に、主に、レプリカセットおよびマスター・スレーブモード、マスタ・スレーブモードよりよく理解される使用、すなわち、マスタとスレーブノードは、マスターノードが読み書きを担当して、スレーブであなたが提供するサービスを読み取ることができるマスターのダウンタイムは、当然のことながら、やはり提供するサービスを読んで、高トラフィック時のスレーブノードを許可する設定パラメータによって達成され、
セットモードのコピーはかなり特殊ですが、このモデルは、同時に、比較的安定し、信頼性があります特定の状況下では、フォールトトレランスのための自動メカニズムは、次の部品を含む、達成することができ、MongoDBの(M)は、調停ノードによって表されるスタンバイノード、MongoDBの()で表されるマスタノード、MongoDBの(S)を表します。スタンバイノードを格納したデータは、調停ノードは、データを格納しません。同時クライアント接続のマスターノードとスタンバイノード、ノードが仲裁に接続されていません。
デフォルトの設定では、マスターノードがスタンバイノードがすべてのサービスを提供していない、すべての削除がサービスを検索変わります。しかし、スタンバイノードは、マスターノードの圧力を減らすことができ、サービスへのアクセスを提供することができることを提供する場合、クライアントのクエリデータは、スタンバイ・ノードに自動的に要求。Javaクライアントは、簡単な構成を提供しながら、この設定は、読み取り優先モードと呼ばれ、データベースを直接操作することはできません。
調停ノードがデータを格納していない自分自身の特別なノードであり、主な役割は、プライマリノードがハングアップした後、プライマリノードに1つのスタンバイノードを決定することですので、このノードに接続されていないクライアントが必要。ここでの唯一のスタンバイノードが、それでも調停ノードのノードレベルを調製向上させる必要があります。
私たちは、MongoDBのレプリカセットパターンのこのクラスタに3台の仮想マシンのモードでビルドしてみましょう:
図1に示すように、事前に準備環境と設置ドッカードッカー-COMPOSE
192.168.81.131(プライマリ)、192.168.81.132(スタンバイ)、192.168.81.131(調停)
2、ミラープルモンゴ
ドッキングウィンドウプルモンゴ
3、編集mongod.confプロファイル(同じ3ノード構成)
DBPATH = /データ/ DB logappend = 真 ジャーナル = 真 ポート = 27017 replSet =テスト
4、編集ドッカー-compose.yamlファイル(ディレクトリに格納されているmongd.confの./configdbの第三段階で、設定ファイルの内容が完全であることができます)
バージョン:" 3 " のサービス: モンゴ: 画像:モンゴ CONTAINER_NAME:モンゴ ポート: - " 27017:27017 " ボリューム: - " ./db:/data/db " - " ./configdb:/data/configdb " 環境: - TZ =アジア/ 上海 コマンド: --bind_ip_all --config /データ/てConfigDB / mongod.conf 再起動:常に ログイン: ドライバー:" JSONファイル" のオプション: 最大 -size:"10メートル" 最大 - ファイル:" 3 」 ネットワーク: - MYNET ネットワーク: MYNET: 外部:真
図5に示すように、容器の開始の3つのホストをドッカー、構成
-dアップドッキングウィンドウ、コン
図6に示すように、クラスタ構成情報
容器の中に、コマンド実行のmongoのmongoシェルのパターンを入力し、[実行します。
CFG = {_id:" テスト"、メンバー:[{_id:0、ホスト:' 192.168.81.131:27017 '、優先順位:2 }、{_ ID:1、ホスト:' 192.168.81.132:27017 '、優先順位:1 }、{_id:2、ホスト:' 192.168.81.133:27017 '、arbiterOnly:真 }]}。
重みは、優先度は、より多くの、より大きな重み重量、マスタノードの最大値であります
次に、コンフィギュレーションをロードします。
rs.initiate(CFG)。
その後の現在のステータスを表示するrs.status()コマンドを実行します
レプリケーションセットの現在の構成