2016-10-27 12 views
0

私は3つのシャードと3つの設定サーバを持つ、1つの主なmongoのmongoクラスタを持っています。 各シャードには、主要なmongoデータベース、secundairy mongoデータベース、およびarbiter mongoデータベースがあります。mongoクラスタを持つmongo設定サーバ

合計で私はそれにmongoと13台のサーバーがあります。

アルモンゴデータベースは、私が欲しいバージョン2.6

上で実行されている3.2をモンゴするすべてのデータベースをアップグレードすることです。 これは本番データベースなので、私はこれをステップで実行したいと思います。

質問1: これはダウンタイムなしで可能ですか?

質問2:たとえば、データベースクラスタを停止せずに、設定サーバーを2.6から3.2にアップグレードできます。

質問3:mongo 3.2 secundairyサーバーをmongo 2.6 primairyサーバーで実行できますか?

質問4:mongo 2.6で動作するシャードは、mongo 3.2 shardで動作するシャードと一緒に動作しますか?

ありがとうございます。

答えて

2

Q1:はい。ローリングメンテナンスと呼ばれています。このガイドYour Ultimate Guide to rolling upgradesを読んで、安全な環境で手順を実践することをお勧めします。

すべてのノードのための基本的な手順:

  1. シャットダウンダウンノード
  2. バイナリ
  3. --replSetなしと
  4. 別のポート上の(オプション)再起動ノード(オプション)で、保守作業を行う置き換えますサーバ
  5. --replSetと元のポートのノードを再起動

Q2-5:は1の前提条件なので、すべて:はい。

+0

しかし、私はバイナリを交換するだけで、ストレージエンジンはまだMMAPv1です。 ストレージエンジンWiredTigerに切り替えたいときは、データをエクスポートしてからインポートする必要がありますか? –

+0

はい、データを含むファイルは完全に異なっていますが、これもノードごとに行うことができます。私。セカンダリを空のWTセカンダリに置き換え、致命的な同期を実行します。ここをクリックhttps://docs.mongodb.com/v3.2/tutorial/change-replica-set-wiredtiger/ –

関連する問題