Rolling Restarts
Because Riak functions as a multi-node system, cluster-level Riak version upgrades and restarts can be performed on a node-by-node, “rolling” basis.
The following steps should be undertaken on each Riak node that you wish to restart:
1. Stop Riak
riak stop
2. Perform any necessary maintenance, upgrade, or other work in your cluster.
3. Start Riak again
riak start
4. Verify that the riak_kv
service is once again available on the target node
riak admin wait-for-service riak_kv <nodename>
If this responds with riak_kv is up
, then the service is available and you can move on to the next step. Otherwise, the console will periodically return riak_kv is not up
until the service is available.
5. Verify that all in-progress handoffs have been completed
riak admin transfers
If this responds with No transfers active
, then all handoffs are complete. You can either run this command periodically until no more transfers are active or run the following script, which will run the riak admin transfers
command every 5 seconds until the transfers are complete:
while ! riak admin transfers | grep -iqF 'No transfers active'
do
echo 'Transfers in progress'
sleep 5
done
6. Repeat the above process for any other nodes that need to be restarted.