title: rladmin cluster config

summary: Updates the cluster's configuration.

title: Overview

text:
Updates the cluster configuration.

[code example]

title: Parameters

text:
| Parameter | Type/Value | Description |
|-----------|------------|-------------|
| audit_address | string | TCP/IP address where a listener can capture [audit event notifications]() |
| audit_port | string | Port where a listener can capture [audit event notifications]() |
| audit_protocol | `tcp`
`local` | Protocol used for [audit event notifications]()
For production systems, only `tcp` is supported. |
| availability_lag_tolerance_ms | integer | Availability lag tolerance in milliseconds |
| control_cipher_suites | list of ciphers | Cipher suites used for TLS connections to the Cluster Manager UI (specified in the format understood by the BoringSSL library)
(previously named `cipher_suites`) |
| cm_port | integer | UI server listening port |
| cm_session_timeout_minutes | integer | Timeout in minutes for the CM session
| cnm_http_port | integer | HTTP REST API server listening port |
| cnm_https_port | integer | HTTPS REST API server listening port |
| crdb_coordinator_port | integer, (range: 1024-65535) (default: 9081) | CRDB coordinator port |
| data_cipher_list | list of ciphers | Cipher suites used by the the data plane (specified in the format understood by the OpenSSL library) |
| data_cipher_suites_tls_1_3 |  list of ciphers | Specifies the enabled TLS 1.3 ciphers for the data plane |
| debuginfo_path | filepath | Local directory to place generated support package files |
| encrypt_pkeys | `enabled`
`disabled` | Enable or turn off encryption of private keys |
| envoy_admin_port | integer, (range: 1024-65535) | Envoy admin port. Changing this port during runtime might result in an empty response because envoy serves as the cluster gateway.|
| envoy_mgmt_server_port | integer, (range: 1024-65535) | Envoy management server port|
| external_ipv6 | `enabled`
`disabled` | Enable or disable use of IPv6 for external cluster communications |
| handle_redirects | `enabled`
`disabled` | Enable or turn off handling DNS redirects when DNS is not configured and running behind a load balancer |
| handle_metrics_redirects | `enabled`
`disabled` | Enable or turn off handling cluster redirects internally for Metrics API |
| http_support | `enabled`
`disabled` | Enable or turn off using HTTP for REST API connections |
| ipv6 | `enabled`
`disabled` | Enable or turn off IPv6 connections to the Cluster Manager UI (deprecated; use `external_ipv6` instead) |
| min_control_TLS_version | `1.2`
`1.3` | The minimum TLS protocol version that is supported for the control path |
| min_data_TLS_version | `1.2`
`1.3` | The minimum TLS protocol version that is supported for the data path |
| min_sentinel_TLS_version | `1.2`
`1.3` | The minimum TLS protocol version that is supported for the discovery service |
| options_method_forbidden | `enabled`
`disabled` | Enable or turn off forbidding `OPTIONS` method for CNM HTTPS port |
| reserved_ports | list of ports/port ranges | List of reserved ports and/or port ranges to avoid using for database endpoints (for example `reserved_ports 11000 13000-13010`) |
| s3_url | string | The URL of S3 export and import |
| s3_ca_cert | string | The CA certificate filepath for S3 export and import |
| sentinel_cipher_suites | list of ciphers | Cipher suites used by the discovery service (supported ciphers are implemented by the [cipher_suites.go](<https://golang.org/src/crypto/tls/cipher_suites.go>) package) |
| sentinel_tls_mode | `allowed`
`required`
`disabled` | Define the SSL policy for the discovery service
(previously named `sentinel_ssl_policy`) |
| services | `alert_mgr`
`call_home_agent`
`cm_server`
`crdb_controller`
`crdb_coordinator`
`crdb_worker`
`entraid_agent_mgr`
`ldap_agent_mgr`
`mdns_server`
`pdns_server`
`sentinel_service`
`stats_archiver`

`enabled`
`disabled` | Enable or turn off selected cluster services |
| upgrade_mode | `enabled`
`disabled` | Enable or turn off upgrade mode on the cluster |

title: Returns

text: Reports whether the cluster was configured successfully. Displays an error message if the configuration attempt fails.

title: Example

text: [code example]

code:
rladmin cluster config
        [ auditing db_conns audit_protocol { TCP | local }
           audit_address <audit_address> audit_port <audit_port> ]
        [ availability_lag_tolerance_ms <milliseconds> ]
        [bigstore_driver {speedb | rocksdb} ]
        [ control_cipher_suites <BoringSSL cipher list> ]
        [ cm_port <number> ]
        [ cm_session_timeout_minutes <minutes> ]
        [ cnm_http_port <number> ]
        [ cnm_https_port <number> ]
        [ crdb_coordinator_port <number> ]
        [ data_cipher_list <openSSL cipher list> ]
        [ data_cipher_suites_tls_1_3 <openSSL cipher list> ]
        [ debuginfo_path <filepath> ]
        [ encrypt_pkeys { enabled | disabled } ]
        [ envoy_admin_port <new-port> ]
        [ envoy_mgmt_server_port <new-port> ]
        [ external_ipv6 { enabled | disabled } ]
        [ handle_redirects { enabled | disabled } ]
        [ handle_metrics_redirects { enabled | disabled } ]
        [ http_support { enabled | disabled } ]
        [ ipv6 { enabled | disabled } ]
        [ min_control_TLS_version { 1.2 | 1.3 } ]
        [ min_data_TLS_version { 1.2 | 1.3 } ]
        [ min_sentinel_TLS_version { 1.2 | 1.3 } ]
        [ options_method_forbidden { enabled | disabled } ]
        [ reserved_ports <list of ports/port ranges> ]
        [ s3_url <URL> ]
        [ s3_ca_cert <filepath> ]
        [ sentinel_tls_mode { allowed | required | disabled } ]
        [ sentinel_cipher_suites <golang cipher list> ]
        [ services { alert_mgr | call_home_agent | cm_server |
                     crdb_controller | crdb_coordinator | crdb_worker |
                     entraid_agent_mgr | ldap_agent_mgr | mdns_server |
                     pdns_server | sentinel_service |
                     stats_archiver } { enabled | disabled } ]
        [ upgrade_mode { enabled | disabled } ]

code:
$ rladmin cluster config cm_session_timeout_minutes 20
Cluster configured successfully


title: rladmin cluster create

summary: Creates a new cluster.

page_type: content

title: Overview

role: overview

text:
Creates a new cluster. The node where you run `rladmin cluster create` becomes the first node of the new cluster.

[code example]

title: Parameters

role: parameters

text:
| Parameter | Type/Value | Description |
|-----------|------------|-------------|
| addr | IP address | The node's internal IP address (optional) |
| ccs_persistent_path | filepath (default: /var/opt/redislabs/persist) | Path to the location of CCS snapshots (optional) |
| ephemeral_path | filepath (default: /var/opt/redislabs) | Path to the ephemeral storage location (optional) |
| external_addr | list of IP addresses | A space-delimited list of the node's external IP addresses (optional) |
| flash_enabled | | Enables flash storage (optional) |
| flash_path | filepath (default: /var/opt/redislabs/flash) | Path to the flash storage location (optional) |
| license_file | filepath | Path to the RLEC license file (optional) |
| name | string | Cluster name |
| node_uid | integer | Unique node ID (optional) |
| password | string | Admin user's password |
| persistent_path | filepath (default: /var/opt/redislabs/persist) | Path to the persistent storage location (optional) |
| rack_aware | | Activates or deactivates rack awareness (optional) |
| rack_id | string | The rack's unique identifier (optional) |
| register_dns_suffix | | Enables database mapping to both internal and external IP addresses (optional) |
| second_rack_id | string | The unique identifier of the node's second rack ID for two-dimensional rack awareness (optional) |
| username | email address | Admin user's email address |

title: Returns

role: returns

text: Returns `ok` if the new cluster was created successfully. Otherwise, it returns an error message.

title: Example

role: example

text: [code example]

code:
cluster create
        name <cluster name>
        username <admin email>
        password <admin password>
        [ node_uid <node UID> ]
        [ rack_aware ]
        [ rack_id <node rack ID> ]
        [ second_rack_id <node's second rack ID> ]
        [ license_file <file> ]
        [ ephemeral_path <path> ]
        [ persistent_path <path> ]
        [ ccs_persistent_path <path> ]
        [ register_dns_suffix ]
        [ flash_enabled ]
        [ flash_path <path> ]
        [ addr <IP.address> ]
        [ external_addr <IP.address.1> [<IP.address.2> ... <IP.address.N>] ]

section_id: overview

code:
$ rladmin cluster create name cluster.local \
        username admin@example.com \
        password admin-password
Creating a new cluster... ok

section_id: example


title: rladmin cluster debug_info

summary: Creates a support package.

title: Overview

text:
Downloads a support package to the specified path. If you do not specify a path, it downloads the package to the default path specified in the cluster configuration file.

[code example]

title: Parameters

text:
| Parameter | Type/Value | Description |
|-----------|------------|-------------|
| node | integer | Downloads a support package for the specified node |
| path | filepath | Specifies the location where the support package should download |

title: Returns

text: Reports the progress of the support package download.

title: Example

text: [code example]

code:
rladmin cluster debug_info
        [ node <ID> ]
        [ path <path> ]

code:
$ rladmin cluster debug_info node 1
Preparing the debug info files package
Downloading...
[==================================================]
Downloading complete. File /tmp/debuginfo.20220511-215637.node-1.tar.gz is saved.


title: rladmin cluster

summary: Manage cluster.

summary: Sets cluster certificates.

title: rladmin cluster certificate

summary: Changes the password hashing algorithm.

title: rladmin cluster change_password_hashing_algorithm

summary: Updates the cluster's configuration.

title: rladmin cluster config

summary: Creates a new cluster.

title: rladmin cluster create

summary: Creates a support package.

title: rladmin cluster debug_info

summary: Adds a node to an existing cluster.

title: rladmin cluster join

summary: Identifies or changes the cluster's master node.

title: rladmin cluster master

summary: Manages OCSP.

title: rladmin cluster ocsp

summary: Recovers a cluster from a backup file.

title: rladmin cluster recover

summary: Changes the password for a given email.

title: rladmin cluster reset_password

summary: Lists all active tasks.

title: rladmin cluster running_actions

summary: Enables/deactivates the stats archiver.

title: rladmin cluster stats_archiver

title: Overview

text: Manages cluster configuration and administration. Most `rladmin cluster` commands are only for clusters that are already configured, while a few others are only for new clusters that have not been configured.

title: Commands for configured clusters

role: syntax

title: Commands for non-configured clusters


title: rladmin cluster join

summary: Adds a node to an existing cluster.

title: Overview

text:
Adds a node to an existing cluster.

[code example]

title: Parameters

text:
| Parameter | Type/Value | Description |
|-----------|------------|-------------|
| accept_servers | 'enabled'<br />'disabled' | Allows allocation of resources on the new node when enabled (optional) |
| addr | IP address | Sets a node's internal IP address. If not provided, the node sets the address automatically. (optional) |
| ccs_persistent_path | filepath (default: /var/opt/redislabs/persist) | Path to the CCS snapshot location (the default is the same as persistent_path) (optional) |
| cnm_http_port | integer | Joins a cluster that has a non-default cnm_http_port (optional) |
| ephemeral_path | filepath | Path to the ephemeral storage location (optional) |
| external_addr | list of IP addresses | Sets a node's external IP addresses (space-delimited list). If not provided, the node sets the address automatically. (optional) |
| flash_enabled |  | Enables flash capabilities for a database (optional) |
| flash_path | filepath (default: /var/opt/redislabs/flash) | Path to the flash storage location in case the node does not support CAPI (required if flash_enabled) |
| nodes | IP address | Internal IP address of an existing node in the cluster |
| override_rack_id |  | Changes to a new rack, specified by `rack_id` (optional) |
| override_repair |  | Enables joining a cluster with a dead node (optional) |
| password | string | Admin user's password |
| persistent_path | filepath (default: /var/opt/redislabs/persist) | Path to the persistent storage location (optional) |
| rack_id | string | Moves the node to the specified rack (optional) |
| replace_node | integer | Replaces the specified node with the new node (optional) |
| second_rack_id | string | The unique identifier of the node's second rack ID for two-dimensional rack awareness (optional) |
| username | email address | Admin user's email address |

title: Returns

text: Returns `ok` if the node joined the cluster successfully. Otherwise, it returns an error message.

title: Example

text: [code example]

code:
rladmin cluster join
        nodes <node IP address>
        username <admin user email>
        password <admin password>
        [ ephemeral_path <path> ]
        [ persistent_path <path> ]
        [ ccs_persistent_path <path> ]
        [ rack_id <node rack ID> ]
        [ second_rack_id <node's second rack ID> ]
        [ override_rack_id ]
        [ replace_node <node UID> ]
        [ flash_enabled ]
        [ flash_path <path> ]
        [ addr <IP.address> ]
        [ external_addr <IP.address.1> [<IP.address.2> ... <IP.address.N>] ]
        [ override_repair ]
        [ accept_servers { enabled | disabled } ]
        [ cnm_http_port <port> ]

code:
$ rladmin cluster join nodes 192.0.2.2 \
        username admin@example.com \
        password admin-password
Joining cluster... ok


title: rladmin cluster master

title: Overview

text:
Identifies the cluster's master node. Use `set` to change the cluster's master to a different node.

[code example]

title: Parameters

text:
| Parameter | Type/Value | Description |
|-----------|------------|-------------|
| node_id | integer | Unique node ID |

title: Returns

text: Returns the ID of the cluster's master node. Otherwise, it returns an error message.

title: Example

text:
Identify the cluster's master node:

[code example]

Change the cluster master to node 3:

[code example]

code: cluster master [ set <node_id> ]

code:
$ rladmin cluster master
Node 1 is the cluster master node

code:
$ rladmin cluster master set 3
Node 3 set to be the cluster master node


title: rladmin cluster ocsp

summary: Manages OCSP.

title: Overview

text: Manages OCSP configuration and verifies the status of a server certificate maintained by a third-party [certificate authority (CA)](https://en.wikipedia.org/wiki/Certificate_authority).

title: `ocsp certificate_compatible`

role: content

text:
Checks if the proxy certificate contains an OCSP URI.

[code example]

title: Parameters

title: Returns

text: Returns the OCSP URI if it exists. Otherwise, it returns an error.

title: Example

text: [code example]

title: `ocsp config`

text:
Displays or updates OCSP configuration. Run the command without the `set` option to display the current configuration of a parameter.

[code example]

title: Parameters

text:
| Parameter | Type/Value | Description |
|-----------|---------------|-------------|
| ocsp_functionality | enabled

disabled | Enables or turns off OCSP for the cluster |
| query_frequency | integer <nobr>(range: 60-86400)</nobr> <nobr>(default: 3600)</nobr> | The time interval in seconds between OCSP queries to check the certificate's status |
| recovery_frequency | integer <nobr>(range: 60-86400)</nobr> <nobr>(default: 60)</nobr> | The time interval in seconds between retries after a failed query |
| recovery_max_tries | integer <nobr>(range: 1-100)</nobr> <nobr>(default: 5)</nobr> | The number of retries before the validation query fails and invalidates the certificate |
| responder_url | string | The OCSP server URL embedded in the proxy certificate (you cannot manually set this parameter) |
| response_timeout | integer <nobr>(range: 1-60)</nobr> <nobr>(default: 1)</nobr> | The time interval in seconds to wait for a response before timing out |

title: Returns

text: If you run the `ocsp config` command without the `set` option, it displays the specified parameter's current configuration.

title: Example

text: [code example]

title: `ocsp status`

text:
Returns the latest cached status of the certificate's OCSP response.

[code example]

title: Parameters

title: Returns

title: Example

text: [code example]

title: `ocsp test_certificate`

text:
Queries the OCSP server for the certificate's latest status, then caches and displays the response.

[code example]

title: Parameters

title: Returns

text: Returns the latest status of the certificate's OCSP response.

title: Example

text: [code example]

section_id: ocsp-certificate-compatible

code:
$ rladmin cluster ocsp certificate_compatible
Success. OCSP URI is http://responder.ocsp.url.com

code:
rladmin cluster ocsp config <OCSP parameter>
        [set <value>]

section_id: ocsp-config

code:
$ rladmin cluster ocsp config recovery_frequency
Recovery frequency of the OCSP server is 60 seconds
$ rladmin cluster ocsp config recovery_frequency set 30
$ rladmin cluster ocsp config recovery_frequency
Recovery frequency of the OCSP server is 30 seconds

code: rladmin cluster ocsp status

section_id: ocsp-status

code:
$ rladmin cluster ocsp status
OCSP certificate status is: REVOKED
produced_at: Wed, 22 Dec 2021 12:50:11 GMT
responder_url: http://responder.ocsp.url.com
revocation_time: Wed, 22 Dec 2021 12:50:04 GMT
this_update: Wed, 22 Dec 2021 12:50:11 GMT

code: rladmin cluster ocsp test_certificate

section_id: ocsp-test-certificate

code:
$ rladmin cluster ocsp test_certificate
Initiating a query to OCSP server
...OCSP certificate status is: REVOKED
produced_at: Wed, 22 Dec 2021 12:50:11 GMT
responder_url: http://responder.ocsp.url.com
revocation_time: Wed, 22 Dec 2021 12:50:04 GMT
this_update: Wed, 22 Dec 2021 12:50:11 GMT


title: rladmin cluster recover

summary: Recovers a cluster from a backup file.

title: Overview

text:
Recovers a cluster from a backup file. The default location of the configuration backup file is `/var/opt/redislabs/persist/ccs/ccs-redis.rdb`.

[code example]

title: Parameters

text:
| Parameter | Type/Value | Description |
|-----------|------------|-------------|
| addr | IP address | Sets a node's internal IP address. If not provided, the node sets the address automatically. (optional) |
| ccs_persistent_path | filepath | Path to the location of CCS snapshots (default is the same as persistent_path) (optional) |
| external_addr | IP address | Sets a node's external IP address. If not provided, the node sets the address automatically. (optional) |
| ephemeral_path | filepath (default: /var/opt/redislabs) | Path to an ephemeral storage location (optional) |
| filename | filepath | Backup file to use for recovery |
| flash_enabled | | Enables flash storage (optional) |
| flash_path | filepath (default: /var/opt/redislabs/flash) | Path to the flash storage location in case the node does not support CAPI (required if flash_enabled) |
| node_uid | integer (default: 1) | Specifies which node will recover first and become master (optional) |
| override_rack_id | | Changes to a new rack, specified by `rack_id` (optional) |
| persistent_path | filepath | Path to the persistent storage location (optional) |
| rack_id | string | Switches to the specified rack (optional) |
| second_rack_id | string | The unique identifier of a second rack ID for two-dimensional rack awareness (optional) |

title: Returns

text: Returns `ok` if the cluster recovered successfully. Otherwise, it returns an error message.

title: Example

text: [code example]

code:
rladmin cluster recover
        filename <recovery filename>
        [ ephemeral_path <path> ]
        [ persistent_path <path> ]
        [ ccs_persistent_path <path> ]
        [ rack_id <ID> ]
        [ second_rack_id <ID> ]
        [ override_rack_id ]
        [ node_uid <number> ]
        [ flash_enabled ]
        [ flash_path <path> ]
        [ addr <IP address> ]
        [ external_addr <IP address> ]

code:
$ rladmin cluster recover filename /tmp/persist/ccs/ccs-redis.rdb node_uid 1 rack_id 5
Initiating cluster recovery... ok


title: rladmin cluster reset_password

summary: Changes the password for a given email.

title: Overview

text:
Changes the password for the user associated with the specified email address.

Enter a new password when prompted. Then enter the same password when prompted a second time to confirm the password change.

[code example]

title: Parameters

text:
| Parameter | Type/Value | Description |
|-----------|------------|-------------|
| user email | email address | The email address of the user that needs a password reset |

title: Returns

text: Reports whether the password change succeeded or an error occurred.

title: Example

text: [code example]

code: rladmin cluster reset_password <user email>

code:
$ rladmin cluster reset_password user@example.com
New password:
New password (again):
Password changed.


title: rladmin cluster running_actions

summary: Lists all active tasks.

title: Overview

text:
Lists all active tasks running on the cluster.

[code example]

title: Parameters

title: Returns

text: Returns details about any active tasks running on the cluster.

title: Example

text: [code example]

code: rladmin cluster running_actions

code:
$ rladmin cluster running_actions
Got 1 tasks:
1) Task: maintenance_on (ce391d81-8d51-4ce2-8f63-729c7ac2589e) Node: 1 Status: running


title: rladmin cluster stats_archiver

summary: Enables/deactivates the stats archiver.

title: Overview

text:
Enables or deactivates the stats archiver, which logs statistics in CSV (comma-separated values) format.

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
| enabled | Turn on the stats archiver |
| disabled | Turn off the stats archiver |

title: Returns

text: Returns the updated status of the stats archiver.

title: Example

text: [code example]

code: rladmin cluster stats_archiver { enabled | disabled }

code:
$ rladmin cluster stats_archiver enabled
Status: enabled


title: rladmin failover

summary: Fail over primary shards of a database to their replicas.

title: Overview

text:
Fails over one or more primary (also known as master) shards of a database and promotes their respective replicas to primary shards.

[code example]

title: Parameters

text:
| Parameter | Type/Value                     | Description                                                                                |
|-----------|--------------------------------|-----------------------------------------------------------------------------------------------|
| db        | db:\<id\><br /> name           | Fail over shards for the specified database                                                   |
| shard     | one or more primary shard IDs  | Primary shard or shards to fail over                                                          |
| immediate |                                | Perform failover without verifying the replica shards are in full sync with the master shards |

title: Returns

text:
Returns `Finished successfully` if the failover completed. Otherwise, it returns an error.

Use [`rladmin status shards`]() to verify that the failover completed.

title: Example

text: [code example]

code:
rladmin failover
        [db { db:<id> | <name> }]
        shard <id1 ... idN>
        [immediate]

code:
$ rladmin status shards
SHARDS:
DB:ID  NAME        ID         NODE     ROLE     SLOTS     USED_MEMORY    STATUS
db:5   tr01        redis:12   node:1   slave    0-16383   3.02MB         OK
db:5   tr01        redis:13   node:2   master   0-16383   3.09MB         OK
$ rladmin failover shard 13
Executing shard fail-over: OOO.
Finished successfully
$ rladmin status shards
SHARDS:
DB:ID  NAME        ID         NODE     ROLE     SLOTS     USED_MEMORY    STATUS
db:5   tr01        redis:12   node:1   master   0-16383   3.12MB         OK
db:5   tr01        redis:13   node:2   slave    0-16383   2.99MB         OK


title: rladmin help

summary: Shows available commands or specific command usage.

title: Overview

text:
Lists all options and parameters for `rladmin` commands.

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
|  command   |  Display help for this `rladmin` command (optional)  |

title: Returns

text:
Returns a list of available `rladmin` commands.

If a `command` is specified, returns a list of all the options and parameters for that `rladmin` command.

title: Example

text: [code example]

code: rladmin help [command]

code:
$ rladmin help
usage: rladmin [options] [command] [command args]

Options:
  -y  Assume Yes for all required user confirmations.

Commands:
  bind      Bind an endpoint
  cluster   Cluster management commands
  exit      Exit admin shell
  failover  Fail-over master to slave
  help      Show available commands, or use help <command> for a specific command
  info      Show information about tunable parameters
  migrate   Migrate elements between nodes
  node      Node management commands
  placement Configure shards placement policy
  recover   Recover databases
  restart   Restart database shards
  status    Show status information
  suffix    Suffix management
  tune      Tune system parameters
  upgrade   Upgrade entity version
  verify    Cluster verification reports

Use "rladmin help [command]" to get more information on a specific command.


title: rladmin

summary: Manage Redis Software clusters and databases.

summary: Manages the proxy policy for a specified database endpoint.

title: rladmin bind

summary: Manage cluster.

title: rladmin cluster

title: rladmin failover

title: rladmin help

summary: Shows the current configuration of a cluster, database, node, or proxy.

title: rladmin info

summary: Moves Redis Software shards or endpoints to a new node in the same cluster.

title: rladmin migrate

summary: Manage nodes.

title: rladmin node

summary: Configures the shard placement policy for a database.

title: rladmin placement

summary: Recovers databases in recovery mode.

title: rladmin recover

summary: Restarts Redis Software processes for a specific database.

title: rladmin restart

summary: Displays the current cluster status and topology information.

title: rladmin status

summary: Manages the DNS suffixes in the cluster.

title: rladmin suffix

summary: Configures parameters for databases, proxies, nodes, and clusters.

title: rladmin tune

summary: Upgrades a database's Redis version and modules.

title: rladmin upgrade

summary: Prints verification reports for the cluster.

title: rladmin verify

title: Overview

text:
`rladmin` is a command-line utility that lets you perform administrative tasks such as failover, migration, and endpoint binding on a Redis Software cluster. You can also use `rladmin` to edit cluster and database configurations.

Although you can use the Cluster Manager UI for some of these tasks, others are unique to the `rladmin` command-line tool.

title: `rladmin` commands

title: Use the `rladmin` shell

text:
To open the `rladmin` shell:

1. Sign in to a Redis Software node with an account that is a member of the **redislabs** group.

    The `rladmin` binary is located in `/opt/redislabs/bin`. If you don't have this directory in your `PATH`, you may want to add it. Otherwise, you can use `bash -l <username>` to sign in as a user with permissions for that directory.

1. Run: `rladmin`

If the CLI does not recognize the `rladmin` command,
run this command to load the necessary configuration first: <nobr>`bash -l`</nobr>

In the `rladmin` shell, you can:

- Run any `rladmin` command without prefacing it with `rladmin`.
- Enter `?` to view the full list of available commands.
- Enter [`help`]() followed by the name of a command for a detailed explanation of the command and its usage.
- Press the `Tab` key for command completion.
- Enter `exit` or press `Control+D` to exit the `rladmin` shell and return to the terminal prompt.


title: rladmin info

title: Overview

text: Shows the current configuration of specified databases, proxies, clusters, or nodes.

title: `info cluster`

text:
Lists the current configuration for the cluster.

[code example]

title: Parameters

title: Returns

text: Returns the current configuration for the cluster.

title: Example

text: [code example]

title: `info db`

text:
Shows the current configuration for databases.

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
| db:id     | ID of the specified database (optional) |
| name      | Name of the specified database (optional) |

title: Returns

text:
Returns the current configuration for all databases.

If `db:<id>` or `<name>` is specified, returns the current configuration for the specified database.

title: Example

text: [code example]

title: `info node`

text:
Lists the current configuration for all nodes.

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
| id     | ID of the specified node |

title: Returns

text:
Returns the current configuration for all nodes.

If `<id>` is specified, returns the current configuration for the specified node.

title: Example

text: [code example]

title: `info proxy`

text:
Lists the current configuration for a proxy.

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
| id      | ID of the specified proxy |
| all       | Show the current configuration for all proxies (optional) |

title: Returns

text:
If no parameter is specified or the `all` option is specified, returns the current configuration for all proxies.

If `<id>`is specified, returns the current configuration for the specified proxy.

title: Example

text: [code example]

code: rladmin info cluster

section_id: info-cluster

code:
$ rladmin info cluster
Cluster configuration:
    repl_diskless: enabled
    shards_overbooking: disabled
    default_non_sharded_proxy_policy: single
    default_sharded_proxy_policy: single
    default_shards_placement: dense
    default_fork_evict_ram: enabled
    default_provisioned_redis_version: 6.0
    redis_migrate_node_threshold: 0KB (0 bytes)
    redis_migrate_node_threshold_percent: 4 (%)
    redis_provision_node_threshold: 0KB (0 bytes)
    redis_provision_node_threshold_percent: 12 (%)
    max_simultaneous_backups: 4
    slave_ha: enabled
    slave_ha_grace_period: 600
    slave_ha_cooldown_period: 3600
    slave_ha_bdb_cooldown_period: 7200
    parallel_shards_upgrade: 0
    show_internals: disabled
    expose_hostnames_for_all_suffixes: disabled
    login_lockout_threshold: 5
    login_lockout_duration: 1800
    login_lockout_counter_reset_after: 900
    default_concurrent_restore_actions: 10
    endpoint_rebind_propagation_grace_time: 15
    data_internode_encryption: disabled
    redis_upgrade_policy: major
    db_conns_auditing: disabled
    watchdog profile: local-network
    http support: enabled
    upgrade mode: disabled
    cm_session_timeout_minutes: 15
    cm_port: 8443
    cnm_http_port: 8080
    cnm_https_port: 9443
    bigstore_driver: speedb

code: rladmin info db [ {db:<id> | <name>} ]

section_id: info-db

code:
$ rladmin info db db:1
db:1 [database1]:
    client_buffer_limits: 1GB (hard limit)/512MB (soft limit) in 30 seconds
    slave_buffer: auto
    pubsub_buffer_limits: 32MB (hard limit)/8MB (soft limit) in 60 seconds
    proxy_client_buffer_limits: 0KB (hard limit)/0KB (soft limit) in 0 seconds
    proxy_slave_buffer_limits: 1GB (hard limit)/512MB (soft limit) in 60 seconds
    proxy_pubsub_buffer_limits: 32MB (hard limit)/8MB (soft limit) in 60 seconds
    repl_backlog: 1.02MB (1073741 bytes)
    repl_timeout: 360 seconds
    repl_diskless: default
    master_persistence: disabled
    maxclients: 10000
    conns: 5
    conns_type: per-thread
    sched_policy: cmp
    max_aof_file_size: 300GB
    max_aof_load_time: 3600 seconds
    dedicated_replicaof_threads: 5
    max_client_pipeline: 200
    max_shard_pipeline: 2000
    max_connections: 0
    oss_cluster: disabled
    oss_cluster_api_preferred_ip_type: internal
    gradual_src_mode: disabled
    gradual_src_max_sources: 1
    gradual_sync_mode: auto
    gradual_sync_max_shards_per_source: 1
    slave_ha: disabled (database)
    mkms: enabled
    oss_sharding: disabled
    mtls_allow_weak_hashing: disabled
    mtls_allow_outdated_certs: disabled
    data_internode_encryption: disabled
    proxy_policy: single
    db_conns_auditing: disabled
    syncer_mode: centralized

code: rladmin info node [ <id> ]

section_id: info-node

code:
$ rladmin info node 3
Command Output: node:3
    address: 198.51.100.17
    external addresses: N/A
    recovery path: N/A
    quorum only: disabled
    max redis servers: 100
    max listeners: 100

code: rladmin info proxy { <id> | all }

section_id: info-proxy

code:
$ rladmin info proxy
proxy:1
    mode: dynamic
    scale_threshold: 80 (%)
    scale_duration: 30 (seconds)
    max_threads: 8
    threads: 3


title: rladmin migrate

title: Overview

text:
Moves Redis Software shards or endpoints to a new node in the same cluster.

For more information about shard migration use cases and considerations, see [Migrate database shards]().

title: `migrate all_master_shards`

text:
Moves all primary shards of a specified database or node to a new node in the same cluster.

[code example]

title: Parameters

text:
| Parameter                     | Type/Value             | Description                                                                     |
|-------------------------------|------------------------|---------------------------------------------------------------------------------|
| db                            | db:\<id\><br /> name   | Limits migration to a specific database                                           |
| node                          | integer                | Limits migration to a specific origin node                                        |
| target_node                   | integer                | Migration target node                                                           |
| override_policy               |                        | Overrides the rack aware policy and allows primary and replica shards on the same node |

title: Returns

text:
Returns `Done` if the migration completed successfully. Otherwise, returns an error.

Use [`rladmin status shards`]() to verify the migration completed.

title: Example

text: [code example]

title: `migrate all_shards`

text:
Moves all shards on a specified node to a new node in the same cluster.

[code example]

title: Parameters

text:
| Parameter                     | Type/Value             | Description                                                                     |
|-------------------------------|------------------------|---------------------------------------------------------------------------------|
| node                          | integer                | Limits migration to a specific origin node                                        |
| max_concurrent_bdb_migrations | integer                | Sets the maximum number of concurrent endpoint migrations                           |
| override_policy               |                        | Overrides the rack aware policy and allows primary and replica shards on the same node |

title: Returns

title: Example

text: [code example]

title: `migrate all_slave_shards`

text:
Moves all replica shards of a specified database or node to a new node in the same cluster.

[code example]

title: Parameters

title: Returns

title: Example

text: [code example]

title: `migrate endpoint_to_shards`

text:
Moves database endpoints to the node where the majority of primary shards are located.

[code example]

title: Parameters

text:
| Parameter                     | Type/Value             | Description                                                                     |
|-------------------------------|------------------------|---------------------------------------------------------------------------------|
| db                            | db:\<id\><br /> name   | Limits migration to a specific database                                           |
| restrict_target_node          | integer | Moves the endpoint only if the target node matches the specified node |
| commit                        |                        | Performs endpoint movement                                                      |
| max_concurrent_bdb_migrations | integer                | Sets the maximum number of concurrent endpoint migrations                           |

title: Returns

text:
Returns a list of steps to perform the migration. If the `commit` flag is set, the steps will run and return `Finished successfully` if they were completed. Otherwise, returns an error.

Use [`rladmin status endpoints`]() to verify that the endpoints were moved.

title: Example

text: [code example]

title: `migrate shard`

text:
Moves one or more shards to a new node in the same cluster.

[code example]

title: Parameters

text:
| Parameter                     | Type/Value             | Description                                                                     |
|-------------------------------|------------------------|---------------------------------------------------------------------------------|
| shard                         | list of shard IDs      | Shards to migrate                                                               |
| preserve_roles                |                        | Performs an additional failover to guarantee the primary shards' roles are preserved |
| target_node                   | integer                | Migration target node                                                           |
| override_policy               |                        | Overrides the rack aware policy and allows primary and replica shards on the same node |

title: Returns

title: Example

text: [code example]

code:
rladmin migrate { db { db:<id> | <name> } | node <origin node ID> }
        all_master_shards
        target_node <id>
        [ override_policy ]

section_id: migrate-all-master-shards

code:
$ rladmin status shards db db:6 sort ROLE
SHARDS:
DB:ID  NAME       ID         NODE    ROLE    SLOTS         USED_MEMORY   STATUS
db:6   tr02       redis:14   node:3  master  0-4095        3.01MB        OK
db:6   tr02       redis:16   node:3  master  4096-8191     3.2MB         OK
db:6   tr02       redis:18   node:3  master  8192-12287    3.2MB         OK
db:6   tr02       redis:20   node:3  master  12288-16383   3.01MB        OK
$ rladmin migrate db db:6 all_master_shards target_node 1
Monitoring 8b0f28e2-4342-427a-a8e3-a68cba653ffe
queued - migrate_shards
running - migrate_shards
Executing migrate_redis with shards_uids ['18', '14', '20', '16']
Ocompleted - migrate_shards
Done
$ rladmin status shards node 1
SHARDS:
DB:ID  NAME       ID         NODE    ROLE    SLOTS         USED_MEMORY   STATUS
db:6   tr02       redis:14   node:1  master  0-4095        3.22MB        OK
db:6   tr02       redis:16   node:1  master  4096-8191     3.22MB        OK
db:6   tr02       redis:18   node:1  master  8192-12287    3.22MB        OK
db:6   tr02       redis:20   node:1  master  12288-16383   2.99MB        OK

code:
rladmin migrate node <origin node ID>
            [ max_concurrent_bdb_migrations <value> ]
            all_shards
            target_node <id>
            [ override_policy ]

section_id: migrate-all-shards

code:
$ rladmin status shards node 1
SHARDS:
DB:ID  NAME       ID         NODE    ROLE    SLOTS         USED_MEMORY   STATUS
db:5   tr01       redis:12   node:1  master  0-16383       3.04MB        OK
db:6   tr02       redis:15   node:1  slave   0-4095        2.93MB        OK
db:6   tr02       redis:17   node:1  slave   4096-8191     2.93MB        OK
db:6   tr02       redis:19   node:1  slave   8192-12287    3.08MB        OK
db:6   tr02       redis:21   node:1  slave   12288-16383   3.08MB        OK
$ rladmin migrate node 1 all_shards target_node 2
Monitoring 71a4f371-9264-4398-a454-ce3ff4858c09
queued - migrate_shards
.running - migrate_shards
Executing migrate_redis with shards_uids ['21', '15', '17', '19']
OExecuting migrate_redis with shards_uids ['12']
Ocompleted - migrate_shards
Done
$ rladmin status shards node 2
SHARDS:
DB:ID  NAME       ID         NODE    ROLE    SLOTS         USED_MEMORY   STATUS
db:5   tr01       redis:12   node:2  master  0-16383       3.14MB        OK
db:6   tr02       redis:15   node:2  slave   0-4095        2.96MB        OK
db:6   tr02       redis:17   node:2  slave   4096-8191     2.96MB        OK
db:6   tr02       redis:19   node:2  slave   8192-12287    2.96MB        OK
db:6   tr02       redis:21   node:2  slave   12288-16383   2.96MB        OK

code:
rladmin migrate { db { db:<id> | <name> } | node <origin node ID> }
            all_slave_shards
            target_node <id>
            [ override_policy ]

section_id: migrate-all-slave-shards

code:
$ rladmin status shards db db:6 node 2
SHARDS:
DB:ID  NAME      ID         NODE    ROLE   SLOTS          USED_MEMORY    STATUS
db:6   tr02      redis:15   node:2  slave  0-4095         3.06MB         OK
db:6   tr02      redis:17   node:2  slave  4096-8191      3.06MB         OK
db:6   tr02      redis:19   node:2  slave  8192-12287     3.06MB         OK
db:6   tr02      redis:21   node:2  slave  12288-16383    3.06MB         OK
$ rladmin migrate db db:6 all_slave_shards target_node 3
Monitoring 5d36a98c-3dc8-435f-8ed9-35809ba017a4
queued - migrate_shards
.running - migrate_shards
Executing migrate_redis with shards_uids ['15', '17', '21', '19']
Ocompleted - migrate_shards
Done
$ rladmin status shards db db:6 node 3
SHARDS:
DB:ID  NAME      ID         NODE    ROLE   SLOTS          USED_MEMORY    STATUS
db:6   tr02      redis:15   node:3  slave  0-4095         3.04MB         OK
db:6   tr02      redis:17   node:3  slave  4096-8191      3.04MB         OK
db:6   tr02      redis:19   node:3  slave  8192-12287     3.04MB         OK
db:6   tr02      redis:21   node:3  slave  12288-16383    3.04MB         OK

code:
rladmin migrate [ db { db:<id> | <name> } ]
            endpoint_to_shards
            [ restrict_target_node <id> ]
            [ commit ]
            [ max_concurrent_bdb_migrations <value> ]

section_id: migrate-endpoint-to-shards

code:
$ rladmin status endpoints db db:6
ENDPOINTS:
DB:ID    NAME   ID                 NODE      ROLE                       SSL
db:6     tr02   endpoint:6:1       node:3    all-master-shards          No
$ rladmin migrate db db:6 endpoint_to_shards
* Going to bind endpoint:6:1 to node 1
Dry-run completed, add 'commit' argument to execute
$ rladmin migrate db db:6 endpoint_to_shards commit
* Going to bind endpoint:6:1 to node 1
Executing bind endpoint:6:1: OOO.
Finished successfully
$ rladmin status endpoints db db:6
ENDPOINTS:
DB:ID    NAME   ID                 NODE      ROLE                       SSL
db:6     tr02   endpoint:6:1       node:1    all-master-shards          No

code:
rladmin migrate shard <id1.. idN>
            [ preserve_roles ]
            target_node <id>
            [ override_policy ]

section_id: migrate-shard

code:
$ rladmin status shards db db:5
SHARDS:
DB:ID  NAME        ID         NODE     ROLE     SLOTS     USED_MEMORY    STATUS
db:5   tr01        redis:12   node:2   master   0-16383   3.01MB         OK
db:5   tr01        redis:13   node:3   slave    0-16383   3.1MB          OK
$ rladmin migrate shard 13 target_node 1
Monitoring d2637eea-9504-4e94-a70c-76df087efcb2
queued - migrate_shards
.running - migrate_shards
Executing migrate_redis with shards_uids ['13']
Ocompleted - migrate_shards
Done
$ rladmin status shards db db:5
SHARDS:
DB:ID  NAME        ID         NODE     ROLE     SLOTS     USED_MEMORY    STATUS
db:5   tr01        redis:12   node:2   master   0-16383   3.01MB         OK
db:5   tr01        redis:13   node:1   slave    0-16383   3.04MB         OK


title: rladmin node addr set

summary: Sets a node's internal IP address.

title: Overview

text:
Sets the internal IP address of a node. You can only set the internal IP address when the node is down. See [Change internal IP address]() for detailed instructions.

[code example]

title: Parameters

text:
| Parameter | Type/Value                     | Description                                                                                |
|-----------|--------------------------------|-----------------------------------------------------------------------------------------------|
| node      | integer                        | Sets the internal IP address of the specified node                                                |
| addr   | IP address                     | Sets the node's internal IP address to the specified IP address                                      |

title: Returns

text:
Returns `Updated successfully` if the IP address was set. Otherwise, it returns an error.

Use [`rladmin status nodes`]() to verify the internal IP address was changed.

title: Example

text: [code example]

code: rladmin node <ID> addr set <IP address>

code:
$ rladmin status nodes
CLUSTER NODES:
NODE:ID ROLE   ADDRESS    EXTERNAL_ADDRESS HOSTNAME     SHARDS CORES FREE_RAM        PROVISIONAL_RAM VERSION   STATUS
*node:1 master 192.0.2.2                   3d99db1fdf4b 5/100  6     16.06GB/19.54GB 12.46GB/16.02GB 6.2.12-37 OK
node:2  slave  192.0.2.3                   fc7a3d332458 0/100  6     -/19.54GB       -/16.02GB       6.2.12-37 DOWN, last seen 33s ago
node:3  slave  192.0.2.4                   b87cc06c830f 5/120  6     16.06GB/19.54GB 12.46GB/16.02GB 6.2.12-37 OK
$ rladmin node 2 addr set 192.0.2.5
Updated successfully.
$ rladmin status nodes
CLUSTER NODES:
NODE:ID ROLE   ADDRESS    EXTERNAL_ADDRESS HOSTNAME     SHARDS CORES FREE_RAM        PROVISIONAL_RAM VERSION   STATUS
*node:1 master 192.0.2.2                   3d99db1fdf4b 5/100  6     14.78GB/19.54GB 11.18GB/16.02GB 6.2.12-37 OK
node:2  slave  192.0.2.5                   fc7a3d332458 0/100  6     14.78GB/19.54GB 11.26GB/16.02GB 6.2.12-37 OK
node:3  slave  192.0.2.4                   b87cc06c830f 5/120  6     14.78GB/19.54GB 11.18GB/16.02GB 6.2.12-37 OK


title: rladmin node enslave

summary: Changes a node's resources to replicas.

title: Overview

text: Changes the resources of a node to replicas.

title: `node enslave`

text:
Changes all of the node's endpoints and shards to replicas.

[code example]

title: Parameters

text:
| Parameter             | Type/Value                     | Description                                                                               |
|-----------------------|--------------------------------|-------------------------------------------------------------------------------------------|
| node                  | integer                        | Changes all of the node's endpoints and shards to replicas             |
| demote_node           |                                | If the node is a primary node, changes the node to replica                     |
| retry_timeout_seconds | integer                        | Retries on failure until the specified number of seconds has passed.                    |

title: Returns

text:
Returns `OK` if the roles were successfully changed. Otherwise, it returns an error.

Use [`rladmin status shards`]() to verify that the roles were changed.

title: Example

text: [code example]

title: `node enslave endpoints_only`

text:
Changes the role for all endpoints on a node to replica.

[code example]

title: Parameters

text:
| Parameter             | Type/Value                     | Description                                                                               |
|-----------------------|--------------------------------|-------------------------------------------------------------------------------------------|
| node                  | integer                        | Changes all of the node's endpoints to replicas                        |
| retry_timeout_seconds | integer                        | Retries on failure until the specified number of seconds has passed.                    |

title: Returns

text:
Returns `OK` if the roles were successfully changed. Otherwise, it returns an error.

Use [`rladmin status endpoints`]() to verify that the roles were changed.

title: Example

text: [code example]

title: `node enslave shards_only`

text:
Changes the role for all shards of a node to replica.

[code example]

title: Parameters

text:
| Parameter             | Type/Value                     | Description                                                                               |
|-----------------------|--------------------------------|-------------------------------------------------------------------------------------------|
| node                  | integer                        | Changes all of the node's shards to replicas                          |
| retry_timeout_seconds | integer                        | Retries on failure until the specified number of seconds has passed.                    |

title: Returns

title: Example

text: [code example]

code:
rladmin node <ID> enslave
        [demote_node]
        [retry_timeout_seconds <seconds>]

section_id: node-enslave

code:
$ rladmin status shards node 2
SHARDS:
DB:ID      NAME           ID               NODE         ROLE         SLOTS                  USED_MEMORY            STATUS
db:6       tr02           redis:14         node:2       master       0-4095                 3.2MB                  OK
db:6       tr02           redis:16         node:2       master       4096-8191              3.12MB                 OK
db:6       tr02           redis:18         node:2       master       8192-12287             3.16MB                 OK
db:6       tr02           redis:20         node:2       master       12288-16383            3.12MB                 OK
$ rladmin status nodes
CLUSTER NODES:
NODE:ID ROLE   ADDRESS    EXTERNAL_ADDRESS  HOSTNAME     SHARDS CORES       FREE_RAM         PROVISIONAL_RAM  VERSION   STATUS
*node:1 slave  192.0.2.12 198.51.100.1      3d99db1fdf4b 1/100  6           14.43GB/19.54GB  10.87GB/16.02GB  6.2.12-37 OK
node:2  master 192.0.2.13 198.51.100.2      fc7a3d332458 4/100  6           14.43GB/19.54GB  10.88GB/16.02GB  6.2.12-37 OK
node:3  slave  192.0.2.14                   b87cc06c830f 5/120  6           14.43GB/19.54GB  10.83GB/16.02GB  6.2.12-37 OK
$ rladmin node 2 enslave demote_node
Performing enslave_node action on node:2: 100%
OK
$ rladmin status nodes
CLUSTER NODES:
NODE:ID ROLE   ADDRESS    EXTERNAL_ADDRESS  HOSTNAME     SHARDS CORES       FREE_RAM         PROVISIONAL_RAM  VERSION   STATUS
*node:1 master 192.0.2.12 198.51.100.1      3d99db1fdf4b 1/100  6           14.72GB/19.54GB  10.91GB/16.02GB  6.2.12-37 OK
node:2  slave  192.0.2.13 198.51.100.2      fc7a3d332458 4/100  6           14.72GB/19.54GB  11.17GB/16.02GB  6.2.12-37 OK
node:3  slave  192.0.2.14                   b87cc06c830f 5/120  6           14.72GB/19.54GB  10.92GB/16.02GB  6.2.12-37 OK
$ rladmin status shards node 2
SHARDS:
DB:ID      NAME             ID               NODE         ROLE       SLOTS                  USED_MEMORY            STATUS
db:6       tr02             redis:14         node:2       slave      0-4095                 2.99MB                 OK
db:6       tr02             redis:16         node:2       slave      4096-8191              3.01MB                 OK
db:6       tr02             redis:18         node:2       slave      8192-12287             2.93MB                 OK
db:6       tr02             redis:20         node:2       slave      12288-16383            3.06MB                 OK

code:
rladmin node <ID> enslave endpoints_only
        [retry_timeout_seconds <seconds>]

section_id: node-enslave-endpoints-only

code:
$ rladmin status endpoints
ENDPOINTS:
DB:ID         NAME        ID                             NODE            ROLE                                       SSL
db:5          tr01        endpoint:5:1                   node:1          single                                     No
db:6          tr02        endpoint:6:1                   node:3          all-master-shards                          No
$ rladmin node 1 enslave endpoints_only
Performing enslave_node action on node:1: 100%
OK
$ rladmin status endpoints
ENDPOINTS:
DB:ID         NAME        ID                             NODE            ROLE                                       SSL
db:5          tr01        endpoint:5:1                   node:3          single                                     No
db:6          tr02        endpoint:6:1                   node:3          all-master-shards                          No

code:
rladmin node <ID> enslave shards_only
        [retry_timeout_seconds <seconds>]

section_id: node-enslave-shards-only

code:
$ rladmin status shards node 3
SHARDS:
DB:ID      NAME           ID               NODE         ROLE         SLOTS                  USED_MEMORY            STATUS
db:5       tr01           redis:12         node:3       master       0-16383                3.04MB                 OK
db:6       tr02           redis:15         node:3       master       0-4095                 4.13MB                 OK
db:6       tr02           redis:17         node:3       master       4096-8191              4.13MB                 OK
db:6       tr02           redis:19         node:3       master       8192-12287             4.13MB                 OK
db:6       tr02           redis:21         node:3       master       12288-16383            4.13MB                 OK
$ rladmin node 3 enslave shards_only
Performing enslave_node action on node:3: 100%
OK
$ rladmin status shards node 3
SHARDS:
DB:ID      NAME             ID               NODE         ROLE       SLOTS                  USED_MEMORY            STATUS
db:5       tr01             redis:12         node:3       slave      0-16383                2.98MB                 OK
db:6       tr02             redis:15         node:3       slave      0-4095                 4.23MB                 OK
db:6       tr02             redis:17         node:3       slave      4096-8191              4.11MB                 OK
db:6       tr02             redis:19         node:3       slave      8192-12287             4.19MB                 OK
db:6       tr02             redis:21         node:3       slave      12288-16383            4.27MB                 OK


title: rladmin node external_addr

summary: Configures a node's external IP addresses.

title: Overview

title: `node external_addr add`

text:
Adds an external IP address that accepts inbound user connections for the node.

[code example]

title: Parameters

text:
| Parameter | Type/Value                     | Description                                                                                |
|-----------|--------------------------------|-----------------------------------------------------------------------------------------------|
| node      | integer                        | Adds an external IP address for the specified node                                               |
| IP address | IP address                     | External IP address of the node                                                               |

title: Returns

text:
Returns `Updated successfully` if the IP address was added. Otherwise, it returns an error.

Use [`rladmin status nodes`]() to verify the external IP address was added.

title: Example

text: [code example]

title: `node external_addr set`

text:
Sets one or more external IP addresses that accepts inbound user connections for the node.

[code example]

title: Parameters

text:
| Parameter | Type/Value                     | Description                                                                                |
|-----------|--------------------------------|-----------------------------------------------------------------------------------------------|
| node      | integer                        | Sets external IP addresses for the specified node                                             |
| IP address | list of IP addresses           | Sets specified IP addresses as external addresses                                                 |

title: Returns

text:
Returns `Updated successfully` if the IP addresses were set. Otherwise, it returns an error.

Use [`rladmin status nodes`]() to verify the external IP address was set.

title: Example

text: [code example]

title: `node external_addr remove`

text:
Removes the specified external IP address from the node.

[code example]

title: Parameters

text:
| Parameter | Type/Value                     | Description                                                                                |
|-----------|--------------------------------|-----------------------------------------------------------------------------------------------|
| node      | integer                        | Removes an external IP address for the specified node                                            |
| IP address | IP address                     | Removes the specified IP address of the node                                                      |

title: Returns

text:
Returns `Updated successfully` if the IP address was removed. Otherwise, it returns an error.

Use [`rladmin status nodes`]() to verify the external IP address was removed.

title: Example

text: [code example]

code:
rladmin node <ID> external_addr
        add <IP address>

section_id: node-external-addr-add

code:
$ rladmin node 1 external_addr add 198.51.100.1
Updated successfully.
$ rladmin status nodes
CLUSTER NODES:
NODE:ID ROLE   ADDRESS   EXTERNAL_ADDRESS  HOSTNAME     SHARDS CORES       FREE_RAM         PROVISIONAL_RAM  VERSION   STATUS
*node:1 master 192.0.2.2 198.51.100.1      3d99db1fdf4b 5/100  6           14.75GB/19.54GB  11.15GB/16.02GB  6.2.12-37 OK
node:2  slave  192.0.2.3                   fc7a3d332458 0/100  6           14.75GB/19.54GB  11.24GB/16.02GB  6.2.12-37 OK
node:3  slave  192.0.2.4                   b87cc06c830f 5/120  6           14.75GB/19.54GB  11.15GB/16.02GB  6.2.12-37 OK

section_id: example

code:
rladmin node <ID> external_addr
        set <IP address 1> ... <IP address N>

section_id: node-external-addr-set

code:
rladmin node <ID> external_addr
        remove <IP address>

section_id: node-external-addr-remove

code:
$ rladmin status nodes
CLUSTER NODES:
NODE:ID ROLE   ADDRESS   EXTERNAL_ADDRESS          HOSTNAME     SHARDS CORES FREE_RAM        PROVISIONAL_RAM VERSION   STATUS
*node:1 master 192.0.2.2 198.51.100.1              3d99db1fdf4b 5/100  6     14.75GB/19.54GB 11.15GB/16.02GB 6.2.12-37 OK
node:2  slave  192.0.2.3 198.51.100.2,198.51.100.3 fc7a3d332458 0/100  6     14.75GB/19.54GB 11.23GB/16.02GB 6.2.12-37 OK
node:3  slave  192.0.2.4                           b87cc06c830f 5/120  6     14.75GB/19.54GB 11.15GB/16.02GB 6.2.12-37 OK
$ rladmin node 2 external_addr remove 198.51.100.3
Updated successfully.
$ rladmin status nodes
CLUSTER NODES:
NODE:ID ROLE   ADDRESS   EXTERNAL_ADDRESS  HOSTNAME     SHARDS CORES       FREE_RAM         PROVISIONAL_RAM  VERSION   STATUS
*node:1 master 192.0.2.2 198.51.100.1      3d99db1fdf4b 5/100  6           14.74GB/19.54GB  11.14GB/16.02GB  6.2.12-37 OK
node:2  slave  192.0.2.3 198.51.100.2      fc7a3d332458 0/100  6           14.74GB/19.54GB  11.22GB/16.02GB  6.2.12-37 OK
node:3  slave  192.0.2.4                   b87cc06c830f 5/120  6           14.74GB/19.54GB  11.14GB/16.02GB  6.2.12-37 OK


title: rladmin node

summary: Manage nodes.

summary: Sets a node's internal IP address.

title: rladmin node addr set

summary: Changes a node's resources to replicas.

title: rladmin node enslave

title: rladmin node external_addr

summary: Turns quorum-only mode on or off for a node.

title: rladmin node maintenance_mode

summary: Sets a node's local recovery path.

title: rladmin node recovery_path set

summary: Removes a node from the cluster.

title: rladmin node remove

summary: Manages snapshots of the configuration of a node's shards and endpoints.

title: rladmin node snapshot

title: Content

text: `rladmin node` commands manage nodes in the cluster.


title: rladmin node maintenance_mode

title: Overview

text: Configures [quorum-only mode]() on a node.

title: `node maintenance_mode on`

text:
Migrates shards out of the node and turns the node into a quorum node to prevent shards from returning to it.

[code example]

title: Parameters

text:
| Parameter             | Type/Value                     | Description                                                                               |
|-----------------------|--------------------------------|-------------------------------------------------------------------------------------------|
| node                  | integer                        | Turns the specified node into a quorum node                                              |
| demote_node           |                                | If the node is a primary node, changes the node to replica                                |
| evict_ha_replica | `enabled`
`disabled` | Migrates the HA replica shards in the node |
| evict_active_active_replica | `enabled`
`disabled` | Migrates the Active-Active replica shards in the node |
| evict_dbs | list of database names or IDs | Specify databases whose shards should be evicted from the node when entering maintenance mode.

Examples:
`$ rladmin node 1 maintenance_mode on evict_dbs db:1 db:2`
`$ rladmin node 1 maintenance_mode on evict_dbs db_name1 db_name2` |
| keep_slave_shards     |                                | Keeps replica shards in the node and demotes primary shards to replicas.

Deprecated as of Redis Software 7.4.2. Use `evict_ha_replica disabled evict_active_active_replica disabled` instead. |
| max_concurrent_actions | integer | Maximum number of concurrent actions during node maintenance |
| overwrite_snapshot | | Overwrites the latest existing node snapshot taken when enabling maintenance mode |

title: Returns

text:
Returns `OK` if the node was converted successfully. If the cluster does not have enough resources to migrate the shards, the process returns a warning.

Use [`rladmin status nodes`]() to verify the node became a quorum node.

title: Example

text: [code example]

title: `node maintenance_mode off`

text:
Turns maintenance mode off and returns the node to its previous state.

[code example]

title: Parameters

text:
| Parameter             | Type/Value                     | Description                                                                               |
|-----------------------|--------------------------------|-------------------------------------------------------------------------------------------|
| node                  | integer                        | Restores the node back to the previous state                                              |
| max_concurrent_actions | integer | Maximum number of concurrent actions during node maintenance |
| skip_shards_restore   |                                | Does not restore shards back to the node                                                  |
| snapshot_name         | string                         | Restores the node back to a state stored in the specified snapshot                        |

title: Returns

text:
Returns `OK` if the node was restored successfully.

Use [`rladmin status nodes`]() to verify the node was restored.

title: Example

text: [code example]

code:
rladmin node <ID> maintenance_mode on
        [ keep_slave_shards ]
        [ evict_ha_replica { enabled | disabled } ]
        [ evict_active_active_replica { enabled | disabled } ]
        [ evict_dbs <list of database names or IDs> ]
        [ demote_node ]
        [ overwrite_snapshot ]
        [ max_concurrent_actions <integer> ]

section_id: node-maintenance-mode-on

code:
$ rladmin node 2 maintenance_mode on overwrite_snapshot
Found snapshot from 2024-01-06T11:36:47Z, overwriting the snapshot
Performing maintenance_on action on node:2: 0%
created snapshot NodeSnapshot<name=maintenance_mode_2024-01-11_20-25-37,time=None,node_uid=2>

node:2 will not accept any more shards
Performing maintenance_on action on node:2: 100%
OK
$ rladmin status nodes
CLUSTER NODES:
NODE:ID ROLE   ADDRESS    EXTERNAL_ADDRESS  HOSTNAME     SHARDS CORES       FREE_RAM         PROVISIONAL_RAM  VERSION   STATUS
*node:1 master 192.0.2.12 198.51.100.1      3d99db1fdf4b 5/100  6           14.21GB/19.54GB  10.62GB/16.02GB  6.2.12-37 OK
node:2  slave  192.0.2.13 198.51.100.2      fc7a3d332458 0/0    6           14.21GB/19.54GB  0KB/0KB          6.2.12-37 OK
node:4  slave  192.0.2.14                   6d754fe12cb9 5/100  6           14.21GB/19.54GB  10.62GB/16.02GB  6.2.12-37 OK

code:
rladmin node <ID> maintenance_mode off
        [ { snapshot_name <name> | skip_shards_restore } ]
        [ max_concurrent_actions <integer> ]

section_id: node-maintenance-mode-off

code:
$ rladmin node 2 maintenance_mode off
Performing maintenance_off action on node:2: 0%
Found snapshot: NodeSnapshot<name=maintenance_mode_2022-05-12_20-25-37,time=2022-05-12T20:25:37Z,node_uid=2>
Performing maintenance_off action on node:2: 0%
migrate redis:12 to node:2: executing
Performing maintenance_off action on node:2: 0%
migrate redis:12 to node:2: finished
Performing maintenance_off action on node:2: 0%
migrate redis:17 to node:2: executing

migrate redis:15 to node:2: executing
Performing maintenance_off action on node:2: 0%
migrate redis:17 to node:2: finished

migrate redis:15 to node:2: finished
Performing maintenance_off action on node:2: 0%
failover redis:16: executing

failover redis:14: executing
Performing maintenance_off action on node:2: 0%
failover redis:16: finished

failover redis:14: finished
Performing maintenance_off action on node:2: 0%
failover redis:18: executing
Performing maintenance_off action on node:2: 0%
failover redis:18: finished

migrate redis:21 to node:2: executing

migrate redis:19 to node:2: executing
Performing maintenance_off action on node:2: 0%
migrate redis:21 to node:2: finished

migrate redis:19 to node:2: finished

failover redis:20: executing
Performing maintenance_off action on node:2: 0%
failover redis:20: finished
Performing maintenance_off action on node:2: 0%
rebind endpoint:6:1: executing
Performing maintenance_off action on node:2: 0%
rebind endpoint:6:1: finished
Performing maintenance_off action on node:2: 100%
OK
$ rladmin status nodes
CLUSTER NODES:
NODE:ID ROLE   ADDRESS    EXTERNAL_ADDRESS  HOSTNAME      SHARDS CORES       FREE_RAM        PROVISIONAL_RAM  VERSION   STATUS
*node:1 master 192.0.2.12 198.51.100.1      3d99db1fdf4b  5/100  6           14.2GB/19.54GB  10.61GB/16.02GB  6.2.12-37 OK
node:2  slave  192.0.2.13 198.51.100.2      fc7a3d332458  5/100  6           14.2GB/19.54GB  10.61GB/16.02GB  6.2.12-37 OK
node:4  slave  192.0.2.14                   6d754fe12cb9  0/100  6           14.2GB/19.54GB  10.69GB/16.02GB  6.2.12-37 OK


title: rladmin node recovery_path set

summary: Sets a node's local recovery path.

title: Overview

text:
Sets the node's local recovery path, which specifies the directory where [persistence files]() are stored. You can use these persistence files to [recover a failed database]().

[code example]

title: Parameters

text:
| Parameter | Type/Value                     | Description                                                                                |
|-----------|--------------------------------|-----------------------------------------------------------------------------------------------|
| node      | integer                        | Sets the recovery path for the specified node                                            |
| path      | filepath                       | Path to the folder where persistence files are stored                                         |

title: Returns

text: Returns `Updated successfully` if the recovery path was set. Otherwise, it returns an error.

title: Example

text: [code example]

code: rladmin node <ID> recovery_path set <path>

section_id: overview

code:
$ rladmin node 2 recovery_path set /var/opt/redislabs/persist/redis
Updated successfully.


title: rladmin node remove

summary: Removes a node from the cluster.

title: Overview

text:
Removes the specified node from the cluster.

[code example]

title: Parameters

text:
| Parameter             | Type/Value                     | Description                                                 |
|-----------------------|--------------------------------|-------------------------------------------------------------|
| node                  | integer                        | The node to remove from the cluster                    |
| wait_for_persistence  | `enabled`<br />`disabled`      | Ensures persistence files are available for recovery. The cluster policy `persistent_node_removal` determines the default value. |

title: Returns

text:
Returns `OK` if the node was removed successfully. Otherwise, it returns an error.

Use [`rladmin status nodes`]() to verify that the node was removed.

title: Example

text: [code example]

code: rladmin node <ID> remove [ wait_for_persistence { enabled | disabled } ]

code:
$ rladmin status nodes
CLUSTER NODES:
NODE:ID ROLE   ADDRESS    EXTERNAL_ADDRESS  HOSTNAME     SHARDS CORES       FREE_RAM         PROVISIONAL_RAM  VERSION   STATUS
*node:1 master 192.0.2.12 198.51.100.1      3d99db1fdf4b 5/100  6           14.26GB/19.54GB  10.67GB/16.02GB  6.2.12-37 OK
node:2  slave  192.0.2.13 198.51.100.2      fc7a3d332458 4/100  6           14.26GB/19.54GB  10.71GB/16.02GB  6.2.12-37 OK
node:3  slave  192.0.2.14                   b87cc06c830f 1/120  6           14.26GB/19.54GB  10.7GB/16.02GB   6.2.12-37 OK
$ rladmin node 3 remove
Performing remove action on node:3: 100%
OK
CLUSTER NODES:
NODE:ID ROLE   ADDRESS    EXTERNAL_ADDRESS  HOSTNAME     SHARDS CORES       FREE_RAM         PROVISIONAL_RAM  VERSION   STATUS
*node:1 master 192.0.2.12 198.51.100.1      3d99db1fdf4b 5/100  6           14.34GB/19.54GB  10.74GB/16.02GB  6.2.12-37 OK
node:2  slave  192.0.2.13 198.51.100.2      fc7a3d332458 5/100  6           14.34GB/19.54GB  10.74GB/16.02GB  6.2.12-37 OK


title: rladmin node snapshot

title: Overview

text:
Manages snapshots of the configuration of a node's shards and endpoints.

You can create node snapshots and use them to restore the node's shards and endpoints to a configuration from a previous point in time. If you restore a node from a snapshot (for example, after an event such as failover or maintenance), the node's shards have the same placement and roles as when the snapshot was created.

title: `node snapshot create`

text:
Creates a snapshot of a node's current configuration, including the placement of shards and endpoints on the node and the shards' roles.

[code example]

title: Parameters

text:
| Parameter             | Type/Value                     | Description                                                                               |
|-----------------------|--------------------------------|-------------------------------------------------------------------------------------------|
| node                  | integer                        | Creates a snapshot of the specified node                    |
| name                  | string                         | Name of the created snapshot                                |

title: Returns

text: Returns `Done` if the snapshot was created successfully. Otherwise, returns an error.

title: Example

text: [code example]

title: `node snapshot delete`

text:
Deletes an existing snapshot of a node.

[code example]

You cannot use this command to delete a snapshot created by maintenance mode. As of Redis Software version 7.4.2, only the latest maintenance mode snapshot is kept.

title: Parameters

text:
| Parameter             | Type/Value                     | Description                                                                               |
|-----------------------|--------------------------------|-------------------------------------------------------------------------------------------|
| node                  | integer                        | Deletes a snapshot of the specified node                    |
| name                  | string                         | Deletes the specified snapshot                                |

title: Returns

text: Returns `Done` if the snapshot was deleted successfully. Otherwise, returns an error.

title: Example

text: [code example]

title: `node snapshot list`

text:
Displays a list of created snapshots for the specified node.

[code example]

title: Parameters

text:
| Parameter             | Type/Value                     | Description                                                                               |
|-----------------------|--------------------------------|-------------------------------------------------------------------------------------------|
| node                  | integer                        | Displays snapshots of the specified node                    |

title: Returns

text: Returns a list of snapshots of the specified node.

title: Example

text: [code example]

title: `node snapshot restore`

text:
Restores a node's shards and endpoints as close to the stored snapshot as possible.

[code example]

title: Parameters

text:
| Parameter             | Type/Value                     | Description                                                                               |
|-----------------------|--------------------------------|-------------------------------------------------------------------------------------------|
| node                  | integer                        | Restore the specified node from a snapshot.                    |
| restore              | string                           | Name of the snapshot used to restore the node.              |

title: Returns

text: Returns `Snapshot restore completed successfully` if the actions needed to restore the snapshot completed successfully. Otherwise, it returns an error.

title: Example

text: [code example]

code: rladmin node <ID> snapshot create <name>

section_id: node-snapshot-create

code:
$ rladmin node 1 snapshot create snap1
Creating node snapshot 'snap1' for node:1
Done.

code: rladmin node <ID> snapshot delete <name>

section_id: node-snapshot-delete

code:
$ rladmin node 1 snapshot delete snap1
Deleting node snapshot 'snap1' for node:1
Done.

code: rladmin node <ID> snapshot list

section_id: node-snapshot-list

code:
$ rladmin node 2 snapshot list
Name                                               Node    Time
snap2                                              2       2022-05-12T19:27:51Z

code: rladmin node <ID> snapshot restore <name>

section_id: node-snapshot-restore

code:
$ rladmin node 2 snapshot restore snap2
Reading node snapshot 'snap2' for node:2
Planning restore
Planned actions:
* migrate redis:15 to node:2
* failover redis:14
* migrate redis:17 to node:2
* failover redis:16
* migrate redis:19 to node:2
* failover redis:18
* migrate redis:21 to node:2
* failover redis:20
Proceed?[Y]es/[N]o? Y
2022-05-12T19:43:31.486613 Scheduling 8 actions
[2022-05-12T19:43:31.521422 Actions Status: 8 waiting ]
* [migrate redis:21 to node:2] waiting => executing
* [migrate redis:19 to node:2] waiting => executing
* [migrate redis:17 to node:2] waiting => executing
* [migrate redis:15 to node:2] waiting => executing
[2022-05-12T19:43:32.586084 Actions Status: 4 executing | 4 waiting ]
* [migrate redis:21 to node:2] executing => finished
* [migrate redis:19 to node:2] executing => finished
* [migrate redis:17 to node:2] executing => finished
* [migrate redis:15 to node:2] executing => finished
* [failover redis:20] waiting => executing
* [failover redis:18] waiting => executing
* [failover redis:16] waiting => executing
* [failover redis:14] waiting => executing
[2022-05-12T19:43:33.719496 Actions Status: 4 finished | 4 executing ]
* [failover redis:20] executing => finished
* [failover redis:18] executing => finished
* [failover redis:16] executing => finished
* [failover redis:14] executing => finished
Snapshot restore completed successfully.


title: rladmin placement

title: Overview

text:
Configures the shard placement policy for a specified database.

[code example]

`rladmin placement db` is deprecated and will be removed in a future version. Use [`rladmin tune db`]() with the `shards_placement` parameter instead.

title: Parameters

text:
| Parameter | Type/Value                     | Description                                                                                |
|-----------|--------------------------------|-----------------------------------------------------------------------------------------------|
| db        | db:\<id\><br /> name           | Configures shard placement for the specified database                                         |
| dense     |                                | Places new shards on the same node as long as it has resources                                |
| sparse    |                                | Places new shards on the maximum number of available nodes within the cluster                 |

title: Returns

text:
Returns the new shard placement policy if the policy was changed successfully. Otherwise, it returns an error.

Use [`rladmin status databases`]() to verify that the failover completed.

title: Example

text: [code example]

code:
rladmin placement
        db { db:<id> | <name> }
        { dense | sparse }

code:
$ rladmin status databases
DATABASES:
DB:ID  NAME       TYPE   STATUS   SHARDS   PLACEMENT    REPLICATION    PERSISTENCE    ENDPOINT
db:5   tr01       redis  active   1        dense        enabled        aof            redis-12000.cluster.local:12000
$ rladmin placement db db:5 sparse
Shards placement policy is now sparse
$ rladmin status databases
DATABASES:
DB:ID  NAME       TYPE   STATUS   SHARDS   PLACEMENT    REPLICATION    PERSISTENCE    ENDPOINT
db:5   tr01       redis  active   1        sparse       enabled        aof            redis-12000.cluster.local:12000


title: rladmin recover

summary: Recovers databases in recovery mode.

title: Overview

text:
Recovers databases in recovery mode after events such as cluster failure, and restores the databases' configurations and data from stored persistence files. See [Recover a failed database]() for detailed instructions.

Database persistence files are stored in `/var/opt/redislabs/persist/redis/` by default, but you can specify a different directory to use for database recovery with [`rladmin node <id> recovery_path set <path>`]().

title: `recover all`

text:
Recovers all databases in recovery mode.

[code example]

title: Parameters

text:
| Parameters         | Type/Value | Description                                 |
|--------------------|------------|---------------------------------------------|
| only_configuration |            | Recover database configuration without data |

title: Returns

text: Returns `Completed successfully` if the database was recovered. Otherwise, returns an error.

title: Example

text: [code example]

title: `recover db`

text:
Recovers a specific database in recovery mode.

[code example]

title: Parameters

text:
| Parameters         | Type/Value           | Description                                 |
|--------------------|----------------------|---------------------------------------------|
| db                 | db:\<id\> <br />name | Database to recover                         |
| only_configuration |                      | Recover database configuration without data |

title: Returns

title: Example

text: [code example]

title: `recover list`

text:
Shows a list of all databases that are currently in recovery mode.

[code example]

title: Parameters

title: Returns

text: Displays a list of all recoverable databases. If no databases are in recovery mode, returns `No recoverable databases found`.

title: Example

text: [code example]

title: `recover s3_import`

text:
Imports current database snapshot files from an AWS S3 bucket to a directory on the node.

[code example]

title: Parameters

text:
| Parameters           | Type/Value | Description                                                      |
|----------------------|------------|------------------------------------------------------------------|
| s3_bucket            | string     | S3 bucket name                                                   |
| s3_prefix            | string     | S3 object prefix                                                 |
| s3_access_key_id     | string     | S3 access key ID                                                 |
| s3_secret_access_key | string     | S3 secret access key                                             |
| import_path           | filepath   | Local import path where all database snapshots will be imported  |

title: Returns

text: Returns `Completed successfully` if the database files were imported. Otherwise, returns an error.

title: Example

text: [code example]

code:
rladmin recover all
        [ only_configuration ]

section_id: recover-all

code:
$ rladmin recover all
  0% [ 0 recovered | 0 failed ] |         | Elapsed Time: 0:00:00[first-db (db:1) recovery] Initiated.[second-db (db:2) recovery] Initiated.
 50% [ 0 recovered | 0 failed ] |###      | Elapsed Time: 0:00:04[first-db (db:1) recovery] Completed successfully
 75% [ 1 recovered | 0 failed ] |######   | Elapsed Time: 0:00:06[second-db (db:2) recovery] Completed successfully
100% [ 2 recovered | 0 failed ] |#########| Elapsed Time: 0:00:08

code:
rladmin recover db { db:<id> | <name> }
        [ only_configuration ]

section_id: recover-db

code:
$ rladmin recover db db:1
  0% [ 0 recovered | 0 failed ] |      | Elapsed Time: 0:00:00[demo-db (db:1) recovery] Initiated.
 50% [ 0 recovered | 0 failed ] |###   | Elapsed Time: 0:00:00[demo-db (db:1) recovery] Completed successfully
100% [ 1 recovered | 0 failed ] |######| Elapsed Time: 0:00:02

code: rladmin recover list

section_id: recover-list

code:
$ rladmin recover list
DATABASES IN RECOVERY STATE:
DB:ID  NAME  TYPE   SHARDS  REPLICATION  PERSISTENCE  STATUS
db:5   tr01  redis  1       enabled      aof          missing-files
db:6   tr02  redis  4       enabled      snapshot     ready

code:
rladmin recover s3_import
                s3_bucket <bucket name>
                [ s3_prefix <prefix> ]
                s3_access_key_id <access key>
                s3_secret_access_key <secret access key>
                import_path <path>

code: rladmin recover s3_import s3_bucket <bucket-name> s3_prefix <s3-prefix>/ s3_access_key_id <access-key> s3_secret_access_key <secret-access-key> import_path /tmp


title: rladmin restart

title: Overview

text:
Schedules a restart of the Redis Software processes on primary and replica instances of a specific database.

[code example]

title: Parameters

text:
| Parameter      | Type/Value                     | Description                                                           |
|----------------|--------------------------------|-----------------------------------------------------------------------|
| db             | db:\<id\><br /> name           | Restarts Redis Software processes for the specified database                |
| discard_data   |                                | Allows discarding data if there is no persistence or replication      |
| force_discard  |                                | Forcibly discards data even if there is persistence or replication    |
| preserve_roles |                                | Performs an additional failover to maintain shard roles               |

title: Returns

text: Returns `Done` if the restart completed successfully. Otherwise, it returns an error.

title: Example

text: [code example]

code:
rladmin restart db { db:<id> | <name> }
        [preserve_roles]
        [discard_data]
        [force_discard]

code:
$ rladmin restart db db:5 preserve_roles
Monitoring 1db07491-35da-4bb6-9bc1-56949f4c312a
active - SMUpgradeBDB init
active - SMUpgradeBDB stop_forwarding
active - SMUpgradeBDB stop_active_expire
active - SMUpgradeBDB check_slave
oactive - SMUpgradeBDB stop_active_expire
active - SMUpgradeBDB second_failover
completed - SMUpgradeBDB
Done