Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redis Upgrade from 3.0.7 to 5

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.

like image 622
Jirene Avatar asked Nov 26 '18 19:11

Jirene


1 Answers

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.
like image 130
Trevor Avatar answered Oct 02 '22 21:10

Trevor