{
  "schema_version": 2,
  "id": "operate/rs/databases/configure/oss-cluster-api",
  "title": "Enable OSS Cluster API",
  "url": "https://redis.io/docs/latest/operate/rs/7.4/databases/configure/oss-cluster-api/",
  "summary": "",
  "aliases": ["/operate/rs/concepts/data-access/oss-cluster-api"],
  "content": "\nReview [OSS Cluster API](https://redis.io/docs/latest/operate/rs/clusters/optimize/oss-cluster-api) to determine if you should enable this feature for your database.\n\n## Prerequisites\n\nThe OSS Cluster API is supported only when a database meets specific criteria.\n\nThe database must:\n\n- Use the standard [hashing policy](https://redis.io/docs/latest/operate/rs/databases/durability-ha/clustering#supported-hashing-policies).\n- Have the [proxy policy](https://redis.io/docs/latest/operate/rs/databases/configure/proxy-policy) set to either `all-master-shards` or `all-nodes`.\n\nIn addition, the database must _not_:\n\n- Use node `include` or `exclude` in the proxy policy.\n- Use [RediSearch](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/search), [RedisTimeSeries](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/timeseries), or [RedisGears](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/deprecated-features/gears-v1) modules.\n\nThe OSS Cluster API setting applies to individual databases instead of the entire cluster.\n\n## Enable OSS Cluster API support\n\nYou can use the Cluster Manager UI or the `rladmin` utility to enable OSS Cluster API support for a database.\n\n### Cluster Manager UI\n\nWhen you use the Cluster Manager UI to enable the OSS Cluster API, it automatically configures the [prerequisites](https://redis.io/docs/latest/operate/rs/databases/configure/oss-cluster-api#prerequisites).\n\nTo enable the OSS Cluster API for an existing database in the Cluster Manager UI:\n\n1. From the database's **Configuration** tab, select **Edit**.\n\n1. Expand the **Clustering** section.\n\n1. Turn on the **OSS Cluster API** toggle.\n\n    ![Use the *OSS Cluster API* setting to enable the API for the selected database.](https://redis.io/docs/latest/images/rs/screenshots/databases/config-clustering-oss-cluster-api.png)\n\n1. Select **Save**.\n\nYou can also use the Cluster Manager UI to enable the setting when creating a new database.\n\n### Command line (`rladmin`)\n\nYou can use the [`rladmin` utility](https://redis.io/docs/latest/operate/rs/references/cli-utilities/rladmin) to enable the OSS Cluster API for Redis Enterprise Software databases, including Replica Of databases.\n\nFor Active-Active (CRDB) databases, [use the crdb-cli utility](#active-active-databases).\n\nEnsure the [prerequisites](https://redis.io/docs/latest/operate/rs/databases/configure/oss-cluster-api#prerequisites) have been configured.  Then, enable the OSS Cluster API for a Redis database from the command line:\n\n```sh\n$ rladmin tune db \u003cdatabase name or ID\u003e oss_cluster enabled\n```\n\nTo determine the current setting for a database from the command line, use `rladmin info db` to return the value of the `oss_cluster` setting.\n\n```sh\n$ rladmin info db test | grep oss_cluster:\n  oss_cluster: enabled\n```\n\nThe OSS Cluster API setting applies to the specified database only; it does not apply to the cluster.\n\n### Active-Active databases\n\nEnsure the [prerequisites](https://redis.io/docs/latest/operate/rs/databases/configure/oss-cluster-api#prerequisites) have been configured.  Then, use the `crdb-cli` utility to enable the OSS Cluster API for Active-Active databases:\n\n```sh\n$ crdb-cli crdb update --crdb-guid \u003cGUID\u003e --oss-cluster true\n```\n\nFor best results, you should do this when you first create the database.  \n\nHere's the basic process:\n\n1. Create the Active-Active database: \n\n    ```sh\n    $ crdb-cli crdb create --name \u003cname\u003e \\\n       --memory-size 10g --port \u003cport\u003e \\\n       --sharding true --shards-count 2  \\\n       --replication true --oss-cluster true --proxy-policy all-master-shards \\\n       --instance fqdn=\u003cfqdn\u003e,username=\u003cuser\u003e,password=\u003cpass\u003e \\\n       --instance fqdn=\u003cfqdn\u003e,username=\u003cuser\u003e,password=\u003cpass\u003e \\\n       --instance fqdn=\u003cfqdn\u003e,username=\u003cuser\u003e,password=\u003cpass\u003e\n    ```\n\n1. Obtain the CRDB-GUID ID for the new database:\n\n    ```sh\n    $ crdb-cli crdb list\n    CRDB-GUID    NAME   REPL-ID  CLUSTER-FQDN\n    \u003cCRDB-GUID\u003e  Test   4        cluster1.local\n    ```\n\n1. Use the CRDB-GUID ID to enable the OSS Cluster API:\n\n    ```sh\n    $ crdb-cli crdb update --crdb-guid \u003cCRDB-GUID\u003e \\\n        --oss-cluster true\n    ```\n\nThe OSS Cluster API setting applies to all of the instances of the Active-Active database.\n\n## Turn off OSS Cluster API support\n\nTo deactivate OSS Cluster API support for a database, either:\n\n- Use the Cluster Manager UI to turn off the **OSS Cluster API** toggle from the database **Configuration** settings.\n\n- Use the appropriate utility to deactivate the OSS Cluster API setting.\n\n    For standard databases, including Replica Of, use `rladmin`:\n\n    ```sh\n    $ rladmin tune db \u003cname or ID\u003e oss_cluster disabled\n    ```\n\n    For Active-Active databases, use `crdb-cli`:\n\n    ```sh\n    $ crdb-cli crdb update --crdb-guid \u003cCRDB-GUID\u003e \\\n        --oss-cluster false\n    ```\n\n## Multi-key command support\n\nWhen you enable the OSS Cluster API for a database, \n[multi-key commands](https://redis.io/docs/latest/operate/rc/databases/configuration/clustering#multikey-operations) are only allowed when all keys are mapped to the same slot.\n\nTo verify that your database meets this requirement, make sure that the `CLUSTER KEYSLOT` reply is the same for all keys affected by the multi-key command.  To learn more, see [multi-key operations](https://redis.io/docs/latest/operate/rs/databases/durability-ha/clustering#multikey-operations).\n",
  "tags": ["docs","operate","rs"],
  "last_updated": "2026-10-22T06:20:54-07:00"
}
