Upgrading a Module in Redis Enterprise Software
As modules are upgraded, you need to load them into Redis Enterprise to get the new features and/or fixes.
Acquiring the Packaged Modules
- Redis Enterprise pre-packaged modules - To download the upgrades to the modules, go to the Redis Enterprise downloads page. For more specific information on developing with each module see:
- Custom packaged modules - For instructions on packing up any Redis module to use in upgrades, see Developing with Modules.
Deploying the Packaged Module into Redis Enterprise Software
Once you have the upgraded package, you are ready to deploy it:
- Go to the settings tab of the Redis Enterprise web UI.
- Click on redise modules
Click on Add Module
Select the packaged module from your file system and upload it.
Go to the databases tab, then to the configuration section
You see in the page that an update is available.
At this time, you cannot upgrade this database from the web UI. It must be completed using the rladmin command line utility from one of the nodes in the cluster.
Upgrading the Database to Use the New Version
- SSH into any node of the cluster
Identify the database you are upgrading.
Run the rladmin command
$ rladmin upgrade module db_name <your_db_name> module_name <module_name> version <new_module_version_num> module_args <module arguments>
Note: When this is done, it restarts the database shards and thus causes downtime for this database across the cluster.
An example of upgrading the version of RediSearch to 10017 would be:
$ rladmin upgrade module db_name MyAwesomeDB module_name ft version 10017 module_args "PARTITIONS AUTO"
An example of upgrading RedisBloom:
$ rladmin upgrade module db_name MyDB module_name bf version 10100 module_args ""
An example of upgrading RedisJSON:
$ rladmin upgrade module db_name MyDB module_name ReJSON version 10002 module_args ""
Each module package is a zip file. Inside the zip file is a JSON file and it contains the information necessary for the above rladmin command for the module_name and version information necessary. The specific data points must be entered exactly as you see it in that JSON file. The necessary data should be at the end of the JSON document. For example, here is the information for the RediSearch module that i used for the example command above: