Skip to main content
Tungsten Clustering

Adding Datasources to an Existing Deployment

  1. Ensure the new host that is being added has been configured following the "Installation Prerequisites".

  2. Update the /etc/tungsten/tungsten.ini configuration file adding the new host to the list of members, and/or connectors, if applicable.

    Example tungsten.ini
    [alpha]
    members=host1,host2,host3,host4
    hosts=host1,host2,host3,host4
    connectors=host1,host2,host3,host4
    Show argument definitions
    members=host1,host2,host3,host4Hostnames for the dataservice members.
    hosts=host1,host2,host3,host4No description available
    connectors=host1,host2,host3,host4Hostnames for the dataservice connectors.
  3. Using the --no-connectors option updates the current deployment without restarting the existing connectors.

  4. Initially, the newly added host will attempt to read the information from the existing THL. If the full THL is not available from the primary, the new replica will need to be reprovisioned:

    1. Log into the new host.

    2. Execute tprovision to read the information from an existing replica and overwrite the data within the new host:

      shell> tprovision -s host2 -m xtrabackup
      Note

      For a full explanation of using tprovision see "The tprovision Command"

Once the new host has been added and reprovisioned, check the status in cctrl:

[LOGICAL] /alpha > ls

COORDINATOR[host1:AUTOMATIC:ONLINE]

ROUTERS:
+----------------------------------------------------------------------------+
|connector@host1[11401](ONLINE, created=0, active=0) |
|connector@host2[8756](ONLINE, created=0, active=0) |
|connector@host3[21673](ONLINE, created=0, active=0) |
+----------------------------------------------------------------------------+

DATASOURCES:
+----------------------------------------------------------------------------+
|host1(master:ONLINE, progress=219, THL latency=1.047) |
|STATUS [OK] [2024/12/13 04:16:17 PM GMT] |
+----------------------------------------------------------------------------+
| MANAGER(state=ONLINE) |
| REPLICATOR(role=master, state=ONLINE) |
| DATASERVER(state=ONLINE) |
| CONNECTIONS(created=0, active=0) |
+----------------------------------------------------------------------------+

+----------------------------------------------------------------------------+
|host2(slave:ONLINE, progress=219, latency=1.588) |
|STATUS [OK] [2024/12/13 04:16:17 PM GMT] |
+----------------------------------------------------------------------------+
| MANAGER(state=ONLINE) |
| REPLICATOR(role=slave, master=host1, state=ONLINE) |
| DATASERVER(state=ONLINE) |
| CONNECTIONS(created=0, active=0) |
+----------------------------------------------------------------------------+

+----------------------------------------------------------------------------+
|host3(slave:ONLINE, progress=219, latency=2.021) |
|STATUS [OK] [2024/12/13 04:16:18 PM GMT] |
+----------------------------------------------------------------------------+
| MANAGER(state=ONLINE) |
| REPLICATOR(role=slave, master=host1, state=ONLINE) |
| DATASERVER(state=ONLINE) |
| CONNECTIONS(created=0, active=0) |
+----------------------------------------------------------------------------+

+----------------------------------------------------------------------------+
|host4(slave:ONLINE, progress=219, latency=1.000) |
|STATUS [OK] [2024/01/17 05:28:54 PM GMT] |
+----------------------------------------------------------------------------+
| MANAGER(state=ONLINE) |
| REPLICATOR(role=slave, master=host1, state=ONLINE) |
| DATASERVER(state=ONLINE) |
| CONNECTIONS(created=0, active=0) |
+----------------------------------------------------------------------------+

If the host has not come up, or the progress does not match the primary, check "Datasource Recovery Steps" for more information on determining the exact status and what steps to take to enable the host operation.