Redis Upgrade from 3.0.7 to 5
Asked Answered
S

1

8

I have plenty of Sentinel and Cluster servers running 3.0.7 and need to upgrade to 5. I cannot afford downtime. Can someone please advice me how to do it? Some DBs are so big that the servers cannot allocate a new/second instance in case of the best solution here is lunching a new Redis 5 on the same server and set it as slave of the 3.0.7.

1) Can I just go directly from 3.2 to 5 or do I need jump into 4 first?

2) Reading from here that need a massive restart when upgrading from 3.3 to 4. Any way to avoid downtime? How to reestablish the original cluster data? Backup and restore?

Any advice is welcome.

Swor answered 26/11, 2018 at 19:33 Comment(3)
Did you ever manage to successfully upgrade without downtime?Jdavie
we did, I'll be writing a blog post on the same(stay tuned if you're expecting the blog, thanks!)Zambia
Hi, Please share your blog for sameSaideman
B
1

You can change redis 5.0 cluster bus protocol to make it compatible with 3.0.7.

Redis 5.0' cluster bus protocol is 1 while redis 3.0.7 has cluster bus protocol is 0.

You must pay attention to the following 2 differences:

  1. Cluster bus protocol 1 supports module message while protocol 0 does not.
  2. Cluster bus protocol 1's ping message has an extra 'cport' field.
Bismuthic answered 16/10, 2019 at 9:23 Comment(1)
Is it possible to change protocol version with configuration option? I see that it's only possible with huge code changes github.com/antirez/redis/blob/5.0/src/cluster.c#L1650Saturnalia

© 2022 - 2024 — McMap. All rights reserved.