Skip to content

Quickstart

Follow these steps to quickly get ClusterControl up and running in your infrastructure.

Step 1: Install ClusterControl

Go to the Getting Started page to get the installer script. On the ClusterControl host, as root or sudo user, run:

wget -O install-cc https://severalnines.com/scripts/install-cc?<your_installer_id>
chmod +x install-cc
sudo ./install-cc

Info

All new installations come with a 30-day fully functional Enterprise edition trial license (online installation only). Once expired, ClusterControl will default to Community edition.

Example

On Ubuntu 22.04 LTS:

    $ wget -O install-cc https://severalnines.com/scripts/install-cc?nkPR4t6qjOHnTiCkKcL53XlYqjgW,
    Resolving severalnines.com (severalnines.com)... 104.21.94.86, 172.67.221.146, 2606:4700:3034::6815:5e56, ...
    Connecting to severalnines.com (severalnines.com)|104.21.94.86|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: unspecified [text/plain]
    Saving to: ‘install-cc’
    install-cc                                [ <=>                                                                      ]  79.83K  --.-KB/s    in 0.07s
    2024-09-17 07:47:12 (1.05 MB/s) - ‘install-cc’ saved [81747]

    $ chmod +x install-cc

    $ sudo ./install-cc
    2024-09-17 07:47:17 UTC -- Installing lsb-release ...
    Reading package lists...
    Building dependency tree...
    Reading state information...
    lsb-release is already the newest version (11.1.0ubuntu4).
    lsb-release set to manually installed.
    0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.
    !!
    2024-09-17 07:47:29 UTC -- Only RHEL/RockyLinux/AlmaLinux 8|9, Debian 11|12, Ubuntu 20.04|22.04|24.04 LTS versions are supported
    2024-09-17 07:47:29 UTC -- System RAM is > 1.5G
    2024-09-17 07:47:29 UTC -- Setting MySQL innodb_buffer_pool_size to 50% of system RAM
    2024-09-17 07:47:29 UTC -- MySQL innodb_buffer_pool_size set to 1955M

    2024-09-17 07:47:29 UTC -- Severalnines would like your help improving our installation process.
    2024-09-17 07:47:29 UTC -- Information such as OS, memory and install success helps us improve how we onboard our users.
    2024-09-17 07:47:29 UTC -- None of the collected information identifies you personally.
    2024-09-17 07:47:29 UTC -- !!
    => Would you like to help us by sending diagnostics data for the installation? (Y/n): Y

    This script will add Severalnines repository server for deb and rpm packages and
    install the ClusterControl Web Applicaiton and Controller.
    An Apache and MySQL server will also be installed. An existing MySQL Server on this host can be used.

    => Enter a MySQL root password to use: 2024-09-17 08:31:53 UTC --
    => Enter the MySQL root password again:
    => Enter a CMON MySQL user password to use: 2024-09-17 08:31:58 UTC --
    => Enter the CMON user password again:

    ...
    ...

    2024-09-17 08:37:12 UTC -- ClusterControl installation completed!
    Open your web browser to https://178.62.210.68 and create a default Admin User.
    If you want to uninstall ClusterControl then please follow the instructions here, https://severalnines.com/docs/administration.html#uninstall

For more information on the installation methods, see Installation.

Step 2: Create the first admin user

Open https://{ClusterControl_IP_or_Hostname}/ in your browser to create the first admin user.

Example

ClusterControl Registration

Step 3: Set up SSH key-based authentication

Set up passwordless SSH (key-based authentication) to all target nodes. Run the following commands on the ClusterControl server:

# as root or sudo user
ssh-keygen -t rsa                                       # press Enter on all prompts
ssh-copy-id -i ~/.ssh/id_rsa {target_node_IP_address}   # repeat this for all target nodes
Note

You could also add the generated public key, ~/.ssh/id_rsa.pub to all target nodes' ~/.ssh/authorized_keys file manually.

Example
    $ whoami
    root
    $ ssh-keygen -t rsa
    $ ssh-copy-id -i /root/.ssh/id_rsa [email protected]   # db1
    $ ssh-copy-id -i /root/.ssh/id_rsa [email protected]   # db2
    $ ssh-copy-id -i /root/.ssh/id_rsa [email protected]   # db3
    $ whoami
    ubuntu
    $ ssh-keygen -t rsa
    $ ssh-copy-id -i /home/ubuntu/.ssh/id_rsa [email protected]   # db1
    $ ssh-copy-id -i /home/ubuntu/.ssh/id_rsa [email protected]   # db2
    $ ssh-copy-id -i /home/ubuntu/.ssh/id_rsa [email protected]   # db3
Note

For cloud instances, you can use the corresponding private key pair generated by the cloud provider and upload it onto the ClusterControl host and specify the physical path when configuring the SSH-related parameters in the ClusterControl GUI (deploy a cluster, import nodes, etc).

Step 4: Deploy or import database cluster/server

You can deploy a new database cluster or import an existing database cluster into ClusterControl.

Example

Deploy or Import Cluster

    # On ClusterControl node
    $ s9s cluster --create \
        --cluster-type=galera \
        --nodes="192.168.17.101;192.168.17.102;192.168.17.103" \
        --vendor=percona \
        --provider-version=8.0 \
        --db-admin-passwd='Str0nGpa$$word' \
        --os-user=root \
        --os-key-file=/root/.ssh/id_rsa \
        --cluster-name='Percona XtraDB Cluster 5.7'
More info

Step 5: Start managing

Use the ClusterControl GUI or CLI to monitor and manage your database cluster/server.

Example

ClusterControl Dashboard

    $ s9s cluster --list --long
    $ s9s node --list --long
    $ s9s cluster --add-node \
        --nodes=192.168.17.104 \
        --cluster-id=1 \
        --wait
    $ s9s cluster --rolling-restart \
        --cluster-id=1 \
        --schedule="$(date -d 'now + 20 min')"
More info

Step 6: Additional resources