3.5. Replicating Data Out of a Cluster

If you have an existing cluster and you want to replicate the data out to a separate standalone server using Tungsten Replicator then you can create a cluster alias, and use a master/slave topology to replicate from the cluster. This allows for THL events from the cluster to be applied to a separate server for the purposes of backup or separate analysis.

Figure 3.4. Topologies: Replicating Data Out of a Cluster

Topologies: Replicating Data Out of a Cluster

During the installation process a cluster-alias and cluster-slave are declared. The cluster-alias describes all of the servers in the cluster and how they may be reached. The cluster-slave defines one or more servers that will replicate from the cluster.

The Tungsten Replicator will be installed to every server in the cluster-slave. That server will download THL data and apply them to the local server. If the cluster-slave has more than one server; one of them will be declared the relay (or master). The other members of the cluster-slave may also download THL data from that server.

If the relay for the cluster-slave fails; the other nodes will automatically start downloading THL data from a server in the cluster. If a non-relay server fails; it will not have any impact on the other members.

3.5.1. Prepare: Replicating Data Out of a Cluster

  1. Identify the cluster to replicate from. You will need the master, slaves and THL port (if specified). Use tpm reverse from a cluster member to find the correct values.

  2. If you are replicating to a non-MySQL server. Update the configuration of the cluster to include --enable-heterogeneous-service=true prior to beginning. The same option must be included when installing the Tungsten Replicator.

  3. Identify all servers that will replicate from the cluster. If there is more than one, a relay server should be identified to replicate from the cluster and provide THL data to other servers.

  4. Prepare each server according to the prerequisites for the DBMS platform it is serving. If you are working with multiple DBMS platforms; treat each platform as a different cluster-slave during deployment.

  5. Make sure the THL port for the cluster is open between all servers.

3.5.2. Deploy: Replicating Data Out of a Cluster

3.5.2.1. Replicating from a Cluster to MySQL (Staging Use Case)

  1. On your staging server, go to the software directory.

    shell> cd /opt/continuent/software
  2. Download Tungsten Replicator 2.2.0 or later.

  3. Unpack the release package

    shell> tar zxf tungsten-replicator-5.0.1-136.tar.gz
  4. Change to the unpackaged directory:

    shell> cd tungsten-replicator-5.0.1-136
  5. Execute the tpm command to configure defaults for the installation.

    shell> ./tools/tpm configure defaults \
        --install-directory=/opt/continuent \
        '--profile-script=~/.bashrc' \
        --replication-password=secret \
        --replication-port=13306 \
        --replication-user=tungsten \
        --start-and-report=true \
        --user=tungsten

    The description of each of the options is shown below; click the icon to hide this detail:

    Click the icon to show a detailed description of each argument.

    Important

    If you are replicating to a non-MySQL server. Include the --enable-heterogeneous-service=true option in the above command.

  6. Configure a cluster alias that points to the masters and slaves within the current Tungsten Replication service that you are replicating from:

    shell> ./tools/tpm configure alpha \
        --master=host1 \
        --slaves=host2,host3 \
        --thl-port=2112 \
        --topology=cluster-alias

    The description of each of the options is shown below; click the icon to hide this detail:

    Click the icon to show a detailed description of each argument.

    Important

    This dataservice cluster-alias name MUST be the same as the cluster dataservice name that you are replicating from.

  7. Create the configuration that will replicate from cluster dataservice alpha into the database on the host specified by --master=host6:

    shell> ./tools/tpm configure omega \
        --master=host6 \
        --relay-source=alpha \
        --topology=cluster-slave

    The description of each of the options is shown below; click the icon to hide this detail:

    Click the icon to show a detailed description of each argument.

  8. Once the configuration has been completed, you can perform the installation to set up the services using this configuration:

    shell> ./tools/tpm install

If the installation process fails, check the output of the /tmp/tungsten-configure.log file for more information about the root cause.

The cluster should be installed and ready to use.

3.5.2.2. Replicating from a Cluster to MySQL (INI Use Case)

  1. Create the configuration file /etc/tungsten/tungsten.ini on the destination DBMS host:

    [defaults]
    user=tungsten
    install-directory=/opt/continuent
    replication-user=tungsten
    replication-password=secret
    replication-port=3306
    profile-script=~/.bashrc
    start-and-report=true
    
    [alpha]
    topology=cluster-alias
    master=host1
    members=host1,host2,host3
    thl-port=2112
    
    [omega]
    topology=cluster-slave
    master=host6
    relay-source=alpha
    

    The description of each of the options is shown below; click the icon to hide this detail:

    Click the icon to show a detailed description of each argument.

    Important

    The cluster-alias name (i.e. alpha) MUST be the same as the cluster dataservice name that you are replicating from.

    Note

    Do not include start-and-report=true if you are taking over for MySQL native replication. See Section 8.9.1, “Migrating from MySQL Native Replication 'In-Place'” for next steps after completing installation.

  2. Download and install the Tungsten Replicator 2.2.0 or later package (.rpm), or download the compressed tarball and unpack it:

    shell> cd /opt/continuent/software
    shell> tar zxf tungsten-replicator-5.0.1-136.tar.gz
  3. Change to the Tungsten Replicator staging directory:

    shell> cd tungsten-replicator-5.0.1-136
  4. Run tpm to install the Tungsten Replicator software with the INI-based configuration:

    shell > ./tools/tpm install

    During the installation and startup, tpm will notify you of any problems that need to be fixed before the service can be correctly installed and started. If the service starts correctly, you should see the configuration and current status of the service.

If the installation process fails, check the output of the /tmp/tungsten-configure.log file for more information about the root cause.

The replicator should be installed and ready to use.

3.5.3. Best Practices: Replicating Data Out of a Cluster