RIAK-ADMIN(1)()

NAME
riak-admin - Riak node administration

SYNOPSIS
riak-admin [join] [leave] [backup] [restore] [test] [status] [reip] [js_reload] [wait-for-service] [ringready] [transfers] [force-remove] [down] [cluster] [cluster_info] [member_status] [ring_status] [vnode_status] [top] [aae-status] [bucket-type] [diag] [downgrade-objects] [reformat-indexes] [repair-2i] [security] [transfer-limit] [search command]

DESCRIPTION
Riak is a distributed, decentralized data storage system written in Erlang.

Cluster node membership management, status reporting, backup and restoration, and network configuration related tasks are performed with the riak-admin command.

COMMANDS
riak-admin provides several commands for managing a Riak cluster, and can be invoked without arguments for a list of those commands.

join
    <node>
    NOTE: THIS COMMAND IS DEPRECATED. USE cluster join

leave
    NOTE: THIS COMMAND IS DEPRECATED. USE cluster leave

backup
    <node> <cookie> <filename> [node|all]
    Backup a node or cluster to a file. WARNING: Use of this command is not recommended. Read docs.basho.com for better backup methods.

    $riak-admin backup riak@r0.example.com riak <directory/backup_file> node

    $riak-admin backup riak@r0.example.com riak <directory/backup_file> all

restore
    <node> <cookie> <filename>
    Restore a node or cluster from file created by backup. WARNING: Use of this command is not recommended. Read docs.basho.com for better backup methods.

    $riak-admin restore riak@r0.example.com riak <directory/backup_file>

test
    Performs a series of test read and write operations on the node.

status
    Output detailed node status information and performance statistics for the node.

reip
    <old_nodename> <new_nodename>
    NOTE: THIS COMMAND IS DEPRECATED. USE cluster force-replace

js_reload
    Reloads the Javascript virtual machines on the node.

wait-for-service
    <service> <nodename>
    Checks the status of a Riak service such as riak_kv.

    $riak-admin wait-for-service riak_kv riak@r0.example.com

ringready
    Checks that all Riak nodes agree on partition assignments of the ring.

transfers
    List pending partition transfers (this subcommand restarts handoff timers, and should be used sparingly).

force-remove
    <node>
    NOTE: THIS COMMAND IS DEPRECATED. USE cluster force-remove

down
    <node>
    Marks <node> as down; transitions in the ring will be performed when the node is next online.

    $riak-admin down riak@r3.example.com

cluster
    <command>
    The following commands stage changes to cluster membership. These commands do not take effect immediately. After staging a set of changes, the staged plan must be committed to take effect.

cluster_info
    <output_file> [<node_list>]
    Collect and output Riak cluster system information from all or a subset of nodes into a plain text file.

    $riak-admin cluster_info /tmp/three_nodes.txt riak@r0.example.com riak@r1.example.com riak@r2.example.com

member_status
    Output current status of all cluster member nodes.

ring_status
    Output current ring claimant, status of ring, pending handoffs, and any unreachable nodes.

vnode_status
    Output current status of all vnodes on the node.

top [-interval N] [-sort reductions|memory|msg_q] [-lines N]
    Output current CPU utilization, memory, and message queue sizes for the node. interval is the number of seconds between each update, and defaults to 5. sort specifies the column to sort, and defaults to reductions. lines is the number of processes to display, and defaults to 10.

aae-status
    Output current AAE status on key/value partition exchanges, entropy tree building, and key repairs.

bucket-type
    [list|status <type>|activate <type>|create <type> <json>|update <type> <json>]
    Create, update, activate or get information about a bucket type.

    $riak-admin bucket-type create my_bucket '{"props":{n_val:5}}'

    $riak-admin bucket-type list

diag
    Invokes the Riaknostic diagnostic system.

downgrade-objects
    <kill-handoffs> [<concurrency>]
    Change the format of Riak objects, as part of a version downgrade.

reformat-indexes
    [<concurrency>] [<batch size>] [--downgrade]
    Reformats integer indexes in secondary index data for versions of Riak prior to 1.3.1. concurrency denotes the number of partitions are concurrently reformatted, and defaults to 2. batch size denotes the batch of key operations, and defaults to 100.

    $riak-admin reformat-indexes 2 100

repair-2i
    [<partion number>|status|kill] [--speed <speed>]
    Repairs secondary indexes in a specific partition or cluster-wide. Speed is an integer from 1 to 100, from slowest to fastest.

    $riak-admin repair-2i 593735040165679310520246963290989976735222595584

    $riak-admin repair-2i kill

transfer-limit
    [<node> <limit>]
    Changes the handoff_concurrency limit, which represents the number of active handoff processes per node. The default is 2, which can be changed in riak.conf. Running with no arguments will display the current transfer limit for each node in the cluster.

    $riak-admin transfer-limit riak@r3.example.com 3

security command
    Manage Riak users, choose sources of authentication, assign and revoke permissions to/from users and groups, enable and disable Riak Security.

search command
    Various commands for administrating search.

CLUSTER SUBCOMMANDS

join <node>
    Join node to the cluster containing <node>

leave [<node>]
    Have this node leave the cluster and shutdown, or Have <node> leave the cluster and shutdown.

    $riak-admin leave riak@r3.example.com

force-remove <node>
    Remove <node> from the cluster without first handing off data. This command was designed for crashed, unrecoverable nodes. You should use leave in normal operations.

replace <node1> <node2>
    Have <node1> transfer all data to <node2>, and then leave the cluster and shutdown.

force-replace <node1> <node2>
    Reassign all partitions owned by <node1> to <node2> without first handing off data, and remove <node1> from the cluster.

plan
    Display the staged changes to the cluster. This must be run before a cluster change can be committed.

commit
    Commit the staged changes. This can take quite a long time, sometimes days or weeks, depending on the size of your cluster, network speeds, hardware, usage, and other factors.

clear
    Clear the staged changes. This will not commit the cluster change, but nor will it rollback already committed changes.

SECURITY SUBCOMMANDS

enable
    This enables security in the cluster. All users, groups, authentication sources, and permissions can be configured while security is disabled, allowing you to create a security configuration of any level of complexity without prematurely impacting the service.

disable
    This disables security in the cluster. If security is successfully disabled, the console will return no response, and the database will no longer require (but will still permit) encrypted client traffic.

status
    Check whether security is currently enabled for the cluster. Returns Enabled or Disabled, but if security is enabled on a mixed-mode cluster (running a combination of Riak 2.0 and older versions) it will indicate that security is enabled but not yet available.

print-users
    Outputs a list of all currently existing users. Note: All passwords are displayed in encrypted form in console output.

print-user <username>
    Outputs information for a single user with the given username in the same format as print-users.
    +----------+--------+----------------------+--------------------------------+
    | username | groups |       password       |            options             |
    +----------+--------+----------------------+--------------------------------+
    | riakuser |  dev   |983e8ae1421574b8733824| [{"name","eric"},{"age","35"}] |
    +----------+--------+----------------------+--------------------------------+

print-groups <group>
    Outputs information for a single groups with the given group name in the same format as print-users.

print-grants <username>
    Retrieve grant information about a specific user or group.

[add-user|alter-user] <username> [group=<group>] [password=<password>] [<key>=<value>]...
    Create or update a user with the given <username> with an optional password and group assignment. A user can also be assigned any number of key=value pairs which will be stored as options.

    $riak-admin security add-user riakuser group=dev password=Test1234 name=eric age=35

[add-group|alter-group] <group>
    Create or update a group which can collate and assign default attributes to users assigned to that group. Groups can be added to other groups for cascading permissions.

    $riak-admin security alter-group admin groups=dev

del-user <username>
    Delete a user from the cluster by username.

del-group <group>
    Delete a user from the cluster by group name. Deleting a group does not delete the user assigned to it, but will effect their inherited permissions.

[grant|revoke] <permissions> on [any|<bucket-type>[ <bucket>]|index [<index>]] to all|{<user>|<group>[,...]}
    Grant or revoke permissions to a user or group. The permissions can be granted or revoked for any bucket, a bucket type, or a specific bucket. In the case of riak search permissions (search.admin, search.query), you can grant query or admin rights to a specific index.

    $riak-admin security grant riak_kv.get,search.query on any to jane,ahmed

    $riak-admin security grant riak_kv.get,riak_kv.put on any to client

    $riak-admin security revoke riak_kv.put on any to jane

add-source|del-source all|<user>[,...] <CIDR> trust|password|pam|certificate [<option>=<value>[...]]
    Add or delete a security sources to/from a specific user, multiple users, or all users. trust always authenticates successfully if access is from the specified CIDR range.
    password checks the user's password against the PBKFD2 hashed password stored in Riak.
    pam authenticates against the given pluggable authentication module service.
    certificate authenticates using a client certificate.

    $riak-admin security add-source all 127.0.0.1/32 trust

ciphers [<cipher>]
    View a list of currently available security ciphers or change Riak's preferences. Run without arguments to view the cipher list. To alter the list, add a valid cipher string.

    $riak-admin security ciphers DHE-RSA-AES256-SHA:AES128-GCM-SHA256

SEARCH SUBCOMMANDS

aae-status
    Output active anti-entropy (AAE) statistics for search. There are three sections. Each section contains statistics for a specific aspect of AAE for every partition owned by the local node. The first section provides information on exchanges. Exchange is the process of comparing hash trees to determine divergences between KV data and search indexes. The Index column contains the partition number. The Last (ago) column is the amount of time that has passed since the last exchange. The All (ago) column is the amount of time that has passed since all preflists for that partition have been exchanged. The second section lists how much time has passed since the hashtree for that partition has been built from scratch. By default trees expire after 1 week and are rebuilt from scratch. The third section presents statistics on repair operations that have occurred. Repair is performed when AAE notices that the KV and search hashtree don't match for a particular key. The Last column is the number of keys repaired during the last exchange. The Mean column is the average number of keys repaired for all exchange rounds since the node has started. The Max column is the maximum number of keys repaired for a given exchange round since the node has started.

switch-to-new-search
    NOTE: THIS IS ONLY NEEDED WHEN MIGRATING FROM LEGACY RIAK SEARCH TO NEW SEARCH (YOKOZUNA). Switch handling of the HTTP /solr/<index>/select resource and protocol buffer query messages from legacy Riak Search to new Search (Yokozuna).

AUTHORS
Riak is developed by Basho Technologies, Inc. http://basho.com