web-dev-qa-db-ja.com

Redisを3.0.7から5にアップグレード

3.0.7を実行しているSentinelサーバーとクラスターサーバーがたくさんあり、5にアップグレードする必要があります。ダウンタイムを許容できません。誰かがそれを行う方法を私にアドバイスできますか?一部のDBは非常に大きいため、同じサーバー上で新しいRedis 5をランチし、それを3.0.7のスレーブとして設定するのが最善の解決策である場合、サーバーは新しい/ 2番目のインスタンスを割り当てることができません。

1)3.2から5に直接移動できますか、それとも最初に4にジャンプする必要がありますか?

2)3.3から4にアップグレードするときに大規模な再起動が必要な ここ からの読み取りダウンタイムを回避する方法はありますか?元のクラスターデータを再確立するにはどうすればよいですか?バックアップと復元?

どんなアドバイスでも大歓迎です。

7
Jirene

Redis 5.0クラスターバスプロトコルを変更して、3.0.7と互換性を持たせることができます。

Redis 5.0のクラスターバスプロトコルは1ですが、redis3.0.7のクラスターバスプロトコルは0です。

次の2つの違いに注意する必要があります。

  1. クラスターバスプロトコル1はモジュールメッセージをサポートしますが、プロトコル0はサポートしません。
  2. クラスターバスプロトコル1のpingメッセージには、追加の「cport」フィールドがあります。
1
Trevor