yb-docker-ctl

    is a simple command line interface for administering local Docker clusters. It manages the yb-master and containers to perform the necessary administration.

    1. $ wget https://raw.githubusercontent.com/yugabyte/yugabyte-db/master/bin/yb-docker-ctl && chmod +x yb-docker-ctl

    Help command

    Use the —help option to see all the commands supported.

    1. $ ./yb-docker-ctl -h
    1. usage: yb-docker-ctl [-h] {create,status,destroy,add_node,remove_node} ...
    2. Yugabyte Docker Container Control
    3. {create,status,destroy,add_node,remove_node}
    4. Commands
    5. create Create Yugabyte Cluster
    6. status Check Yugabyte Cluster status
    7. destroy Destroy Yugabyte Cluster
    8. remove_node Stop a Yugabyte Cluster Node
    9. optional arguments:
    10. -h, --help show this help message and exit
    • Create a 3 node local cluster with replication factor 3.

    Note that the create command pulls the latest yugabytedb/yugabyte image at the outset in case the image is not yet downloaded or is not the latest.

    1. $ ./yb-docker-ctl create
    • Create a 5 node local cluster with replication factor 5.

    The number of nodes created with the initial create command is always equal to the replication factor in order to ensure that all the replicas for a given tablet can be placed on different nodes. With the and remove_node commands the size of the cluster can thereafter be expanded or shrinked as necessary.

    1. $ ./yb-docker-ctl create --rf 5

    Check cluster status

    1. $ ./yb-docker-ctl status
    1. PID Type Node URL Status Started At
    2. 11632 tserver yb-tserver-n2 http://172.19.0.6:9000 Running 2017-11-28T23:32:59.874963849Z
    3. 11535 tserver yb-tserver-n1 http://172.19.0.5:9000 Running 2017-11-28T23:32:59.444064946Z
    4. 11231 master yb-master-n2 http://172.19.0.3:9000 Running 2017-11-28T23:32:58.403788411Z
    5. 11133 master yb-master-n1 http://172.19.0.2:9000 Running 2017-11-28T23:32:57.905097927Z

    Add a new node to the cluster. This will start a new yb-tserver process and give it a new node_id for tracking purposes.

    1. $ ./yb-docker-ctl add_node

    Remove a node

    Remove a node from the cluster by executing the following command. The command takes the node_id of the node to be removed as input.

    1. $ ./yb-docker-ctl remove_node --help
    1. usage: yb-docker-ctl remove_node [-h] node
    2. positional arguments:
    3. node_id Index of the node to remove
    4. optional arguments:
    5. -h, --help show this help message and exit

    Example

    1. $ ./yb-docker-ctl remove_node 3
    1. Stopping node :yb-tserver-n3

    Upgrade container image

    Upgrade the YugabyteDB image to the latest version.