{
  "schema_version": 2,
  "id": "operate/oss_and_stack/install/upgrade/cluster",
  "title": "Upgrade a Redis cluster to Redis 8",
  "url": "https://redis.io/docs/latest/operate/oss_and_stack/install/upgrade/cluster/",
  "summary": "Upgrade a Redis Open Source cluster to Redis 8",
  "tags": [
    "docs",
    "operate",
    "stack",
    "oss"
  ],
  "last_updated": "2026-10-05T10:55:35+01:00",
  "page_type": "content",
  "content_hash": "2e1ea442580a14c727eddc6950ced81f711ddeea44800676161e126fbfc2bb28",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "> [!NOTE]\n> The supported upgrade paths are:\n> - Redis Open Source 7.x (with or without modules) to Redis 8 in Redis Open Source\n> - Redis Stack 7.2 or 7.4 to Redis 8 in Redis Open Source\n\n> [!NOTE]\n> It's essential to practice upgrading Redis in a controlled environment before upgrading it in a production environment.\n> Docker is an excellent tool to use for this purpose.\n\nFollow these instructions to upgrade a Redis cluster. This guide assumes you have installed Redis using one of the supported methods listed [here](https://redis.io/docs/latest/operate/oss_and_stack/install/archive)."
    },
    {
      "id": "save-your-current-data",
      "title": "Save your current data",
      "role": "content",
      "text": "Before upgrading, create a snapshot of your current dataset on each node (identified by its port) using the following command:\n\n[code example]\n\nRepeat for every node in your cluster, both masters and replicas.\n\nThis creates or updates an `RDB` file, for example `dump.rdb`, in the node's Redis data directory. If you use AOF persistence, the files will be named `appendonly.aof.*` and they will be written in the `appendonlydir` directory inside the data directory. The AOF-related directory and file names are the defaults. Use the names defined in your `redis.conf` file if different from the defaults.\n\nUse the following command on each node to identify where your data directories are located:\n\n[code example]\n\nMake a copy of the files contained in each of those directories before proceeding."
    },
    {
      "id": "upgrade-redis-nodes",
      "title": "Upgrade Redis nodes",
      "role": "content",
      "text": "Upgrade each node one at a time, starting with the replicas, using these steps:\n\n1. Stop the current version of Redis Open Source or Redis Stack server.\n1. Follow the installation steps that correspond to your [Redis distribution](https://redis.io/docs/latest/operate/oss_and_stack/install/install-stack) to install Redis 8.\n1. Start Redis 8 if it didn't start automatically."
    },
    {
      "id": "restore-from-saved-files-if-necessary",
      "title": "Restore from saved files (if necessary)",
      "role": "content",
      "text": "If necessary, restore the saved files to their original locations on each node. Then restart Redis on each node.\n\n> [!WARNING]\n> Redis Search won't be fully operational until all master shards have completed their upgrades.\n> Any queries sent during the upgrade process will either return errors or a message such as \"Waiting for all nodes to connect\"."
    },
    {
      "id": "verify-the-upgrade",
      "title": "Verify the upgrade",
      "role": "content",
      "text": "[code example]\n\nYou should also verify that your data is accessible and that your clients can connect successfully."
    }
  ],
  "examples": [
    {
      "id": "save-your-current-data-ex0",
      "language": "bash",
      "code": "redis-cli -p <port> SAVE",
      "section_id": "save-your-current-data"
    },
    {
      "id": "save-your-current-data-ex1",
      "language": "bash",
      "code": "redis-cli -p <port> CONFIG GET dir",
      "section_id": "save-your-current-data"
    },
    {
      "id": "verify-the-upgrade-ex0",
      "language": "bash",
      "code": "redis-cli -p <port> INFO server | grep redis_version\nredis-cli -p <port> cluster info\nredis-cli --cluster check <IP address>:<port>",
      "section_id": "verify-the-upgrade"
    }
  ]
}
