Replacing an Active Witness as a Full Cluster Node
This section explains the simple process for converting an Active Witness into a full cluster node. This process can be used to either convert the existing node or replace the witness with a new node.
First, place the cluster into MAINTENANCE mode.
shell> cctrlcctrl> set policy maintenanceStop the software on the existing Witness node
shell> stopallWhether you are converting this host, or adding a new host, ensure any additional prerequisites that are needed for a full cluster node are in place, for example MySQL has been installed.
Update the ini on all nodes (including connectors) removing the witness properties and placing the new host as part of the cluster configuration, example below.
Example tungsten.ini BEFORE change[defaults]user=tungstenhome-directory=/opt/continuentapplication-user=app_userapplication-password=secretapplication-port=3306profile-script=~/.bash_profilereplication-user=tungstenreplication-password=secretreplication-port=13306rest-api-admin-user=apiuserrest-api-admin-password=secretmysql-allow-intensive-checks=true[nyc]enable-active-witnesses=truetopology=clusteredmaster=db1members=db1,db2,db3witnesses=db3connectors=db1,db2,db3Show argument definitions
user=tungstenOS System User, for example tungsten. DO NOT use root.home-directory=/opt/continuentInstallation directory.application-user=app_userDatabase username for the connector.application-password=secretDatabase password for the connector.application-port=3306Port for the connector to listen on.profile-script=~/.bash_profileAppend commands to include env.sh in this profile script.replication-user=tungstenUser for database connection.replication-password=secretDatabase password.replication-port=13306Database network port.rest-api-admin-user=apiuserSpecify the initial Admin Username for API access.Available from v7.0.0rest-api-admin-password=secretSpecify the initial Admin User Password for API access.rest-api-admin-passwordalias only available from version 7.1.2 onwards.Available from v7.0.0mysql-allow-intensive-checks=trueFor MySQL installation, enables detailed checks on the supported data types within the MySQL database to confirm compatibility.Example tungsten.ini AFTER change[defaults]user=tungstenhome-directory=/opt/continuentapplication-user=app_userapplication-password=secretapplication-port=3306profile-script=~/.bash_profilereplication-user=tungstenreplication-password=secretreplication-port=13306rest-api-admin-user=apiuserrest-api-admin-password=secretmysql-allow-intensive-checks=true[nyc]topology=clusteredmaster=db1members=db1,db2,db3connectors=db1,db2,db3Show argument definitions
user=tungstenOS System User, for example tungsten. DO NOT use root.home-directory=/opt/continuentInstallation directory.application-user=app_userDatabase username for the connector.application-password=secretDatabase password for the connector.application-port=3306Port for the connector to listen on.profile-script=~/.bash_profileAppend commands to include env.sh in this profile script.replication-user=tungstenUser for database connection.replication-password=secretDatabase password.replication-port=13306Database network port.rest-api-admin-user=apiuserSpecify the initial Admin Username for API access.Available from v7.0.0rest-api-admin-password=secretSpecify the initial Admin User Password for API access.rest-api-admin-passwordalias only available from version 7.1.2 onwards.Available from v7.0.0mysql-allow-intensive-checks=trueFor MySQL installation, enables detailed checks on the supported data types within the MySQL database to confirm compatibility.Update the software on the existing cluster nodes and connector nodes (If separate). Include
--no-connectorsif you want to manually restart them when convenient.shell> cd /opt/continuent/software/tungsten-clustering-8.0.4-132shell> tools/tpm update --replace-releaseEither install on the new host or update on the previous Witness host:
shell> cd /opt/continuent/software/tungsten-clustering-8.0.4-132shell> tools/tpm installor:
shell> cd /opt/continuent/software/tungsten-clustering-8.0.4-132shell> tools/tpm update --replace-release -fOnce the software has been installed you now need to restore a backup of the database onto the node, or provision the database using the provided scripts. Either restore a backup, create and restore a new backup or use
tprovisionto restore the database on the host.Start the software on the new node/old witness node
shell> startallIf you issued
--no-connectorsduring the update, restart the connectors when convenientshell> connector restartCheck within cctrl from one of the existing database nodes to check that the status returns the expected output, if it does, return the cluster to AUTOMATIC and the process is complete. If the output is not correct, this is usually due to metadata files not updating, therefore on every node, issue the following:
shell> tungsten_reset_managerThis will clean the metadata files and stop the manager process. Once the script has completed on all nodes, restart the manager process on each node, one-by-one, starting with the primary node first, followed by the replica:
shell> manager startFinally, return the cluster to AUTOMATIC. If the reset process above was performed, it may take a minute or two for the
lsoutput ofcctrlto update whilst the metadata files are refreshed.