MongoDBの2.3コピー(レプリカセット)

2.3、コピー(レプリカセット)

コピーとは何ですか

  • コピーは、複数のサーバ上のデータの冗長バックアップデータとストアのコピーを提供し、データの可用性を向上させ、データのセキュリティを保証することができます
  • また、ハードウェアの障害やサービスの中断からデータを復元することができますコピー

なぜあなたは、コピーしたいです

  • データのバックアップ
  • データの災害復旧
  • 別々の読み取りと書き込み
  • ハイ(24 * 7)データの可用性
  • いいえメンテナンス・ダウンタイムありません
  • レプリカセットは、アプリケーションに対して透過的です

作品のコピー

  • レプリケーションは、少なくとも二つのノードA、Bを必要とします...
  • マスターノードはクライアントの要求を処理する責任があります
  • 残りは、ノードからプライマリノードにデータをコピーするための責任があります
  • 途中のノードとの共通:マスター・スレーブ、マスター・マルチスレーブ
  • マスターノードから取得したその上に記録されたすべての操作マスタノードは、定期的にポーリングし、これらの操作は、マスターノードのノードからのデータの整合性を確保するために、データの独自のコピーでこれらの操作を実行します
  • 保護するノードからのデータの一貫性を有するマスタノードが行うデータインタラクション

コピー機能

  • Nクラスタノード
  • マスタノードとして任意のノードとすることができます
  • プライマリサイトのすべての書き込み操作
  • 自動フェイルオーバー
  • 自動リカバリ

コピーノードを設定します

  • 次のステップは、複数の端末のウィンドウを開く必要があり、かつ複数のホストにUbuntuのを接続することができ、ビット乱雑になり、xshellで達成することが推奨されます
  • STEP1:データベースディレクトリのT1、T2を作成します。
  • デスクトップディレクトリのデモンストレーションでは、他のディレクトリにも権利に注意を払うことができます
mkdir t1
mkdir t2
  • STEP2:使用のmongodを起動するには、次の形式、名前replSetに一貫性があることに注意
mongod --bind_ip 192.168.196.128 --port 27017 --dbpath ~/Desktop/t1 --replSet rs0
mongod --bind_ip 192.168.196.128 --port 27018 --dbpath ~/Desktop/t2 --replSet rs0
  • STEP3:サーバーが192.168.196.128:27017基づいて提供メインサーバーを接続します
mongo --host 192.168.196.128 --port 27017
  • STEP4:初期化
rs.initiate()
  • 初期化後、プロンプトとして以下に示します:

初期化

  • STEP5:ビュー現在のステータス
rs.status()
  • 現在の状況下:

初期化

  • STEP6:レプリカセットを追加
rs.add('192.168.196.128:27018')
  • STEP7:以下のように正常に設定されたレプリカ、現在の状態を追加します:

初期化

  • STEP8:接続二モンゴ・サービス
mongo --host 192.168.196.128 --port 27018
  • 接続に成功した後、などのプロンプトは以下の通り:

初期化

  • STEP9:マスターサーバーにデータを挿入します
use test1
for(i=0;i<10;i++){db.t1.insert({_id:i})}
db.t1.find()
  • STEP10:サーバーからINSERTクエリで
  • 注:サーバーのニーズからの読み出し動作がrs.slaveOk(設定する場合)
rs.slaveOk()
db.t1.find()

その他のヘルプ

  • ノードから削除
rs.remove('192.168.196.128:27018')
  • 再起動し、メインサーバー消灯、としたら、サーバーから元のサーバからなり、(本来はサーバーから)新たに起動したサーバは、サーバから行くでしょう

おすすめ

転載: www.cnblogs.com/LiuYanYGZ/p/12241752.html