Our example cluster has two sites,
east
and
west
. They are both members of
composite cluster global
. Site east
has hosts db1, db2 and db3. Site west has hosts db4, db5 and db6.
When working with composite clusters, you should use the
-multi
option to
cctrl. With this option enabled the prompt and
information provided will be different. You can perform operations both
on individual parts of the cluster, and on the entire composite cluster.
This can be achieved by using the use
COMPOSITESERVICE command. Tab completion is also available
within cctrl when using this mode.
shell>cctrl -multi
Tungsten Cluster 7.1.4 build 10 east: session established [LOGICAL] / >ls
+----------------------------------------------------------------------------+ |DATA SERVICES: | +----------------------------------------------------------------------------+ east global west [LOGICAL] / >use global
[LOGICAL] /global >ls
COORDINATOR[db1:AUTOMATIC:ONLINE] DATASOURCES: +----------------------------------------------------------------------------+ |east(composite master:ONLINE) | |STATUS [OK] [2015/04/14 01:26:27 AM UTC] | +----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+ |west(composite slave:ONLINE) | |STATUS [OK] [2015/04/14 01:26:26 AM UTC] | +----------------------------------------------------------------------------+
Composite Active Dataservice (Primary) -
east
[LOGICAL] /global >use east
[LOGICAL] /east >ls
COORDINATOR[db1:AUTOMATIC:ONLINE] ROUTERS: +----------------------------------------------------------------------------+ |connector@db1[9745](ONLINE, created=1, active=0) | |connector@db2[9911](ONLINE, created=1, active=0) | |connector@db3[9775](ONLINE, created=1, active=0) | |connector@db4[9757](ONLINE, created=1, active=0) | |connector@db5[9781](ONLINE, created=1, active=0) | |connector@db6[9944](ONLINE, created=1, active=0) | +----------------------------------------------------------------------------+ DATASOURCES: +----------------------------------------------------------------------------+ |db1(master:ONLINE, progress=6, THL latency=0.814) | |STATUS [OK] [2015/04/14 01:46:54 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=master, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=6, active=0) | +----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+ |db2(slave:ONLINE, progress=6, latency=0.857) | |STATUS [OK] [2015/04/14 01:46:59 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=slave, master=db1, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=0, active=0) | +----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+ |db3(slave:ONLINE, progress=6, latency=0.887) | |STATUS [OK] [2015/04/14 01:46:59 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=slave, master=db1, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=0, active=0) | +----------------------------------------------------------------------------+
Composite Passive Dataservice (DR) -
west
[LOGICAL] /east >use west
[LOGICAL] /west >ls
COORDINATOR[db4:AUTOMATIC:ONLINE] ROUTERS: +----------------------------------------------------------------------------+ |connector@db1[9745](ONLINE, created=0, active=0) | |connector@db2[9911](ONLINE, created=0, active=0) | |connector@db3[9775](ONLINE, created=0, active=0) | |connector@db4[9757](ONLINE, created=0, active=0) | |connector@db5[9781](ONLINE, created=0, active=0) | |connector@db6[9944](ONLINE, created=0, active=0) | +----------------------------------------------------------------------------+ DATASOURCES: +----------------------------------------------------------------------------+ |db4(relay:ONLINE, progress=6, latency=5.050) | |STATUS [OK] [2015/04/14 01:46:59 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=relay, master=db1, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=0, active=0) | +----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+ |db5(slave:ONLINE, progress=6, latency=5.522) | |STATUS [OK] [2015/04/14 01:46:59 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=slave, master=db4, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=0, active=0) | +----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+ |db6(slave:ONLINE, progress=6, latency=5.501) | |STATUS [OK] [2015/04/14 01:46:59 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=slave, master=db4, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=0, active=0) | +----------------------------------------------------------------------------+
Manually switch the composite Primary role to the other site:
[LOGICAL] / >use global
[LOGICAL] /global >switch
SELECTED SLAVE: 'west@global' FLUSHING TRANSACTIONS THROUGH 'db1@east' REPLICATOR 'db1' IS NOW USING MASTER CONNECT URI 'thl://db4:2112/' composite data source 'west@global' is now OFFLINE PUT THE NEW MASTER 'west@global' ONLINE PUT THE PRIOR MASTER 'east@global' ONLINE AS A SLAVE REVERT POLICY: MAINTENANCE => AUTOMATIC SWITCH TO 'west@global' WAS SUCCESSFUL [LOGICAL] /global >ls
COORDINATOR[db1:AUTOMATIC:ONLINE] DATASOURCES: +----------------------------------------------------------------------------+ |east(composite slave:ONLINE) | |STATUS [OK] [2015/04/14 01:45:48 AM UTC] | +----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+ |west(composite master:ONLINE) | |STATUS [OK] [2015/04/14 01:45:47 AM UTC] | +----------------------------------------------------------------------------+
Composite Passive Dataservice (DR) -
east
[LOGICAL] /global >use east
[LOGICAL] /east >ls
COORDINATOR[db1:AUTOMATIC:ONLINE] ROUTERS: +----------------------------------------------------------------------------+ |connector@db1[9745](ONLINE, created=1, active=0) | |connector@db2[9911](ONLINE, created=1, active=0) | |connector@db3[9775](ONLINE, created=1, active=0) | |connector@db4[9757](ONLINE, created=1, active=0) | |connector@db5[9781](ONLINE, created=1, active=0) | |connector@db6[9944](ONLINE, created=1, active=0) | +----------------------------------------------------------------------------+ DATASOURCES: +----------------------------------------------------------------------------+ |db1(relay:ONLINE, progress=3, latency=4.000) | |STATUS [OK] [2015/04/14 01:45:47 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=relay, master=db4, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=6, active=0) | +----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+ |db2(slave:ONLINE, progress=3, latency=5.188) | |STATUS [OK] [2015/04/14 01:45:48 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=slave, master=db1, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=0, active=0) | +----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+ |db3(slave:ONLINE, progress=3, latency=5.249) | |STATUS [OK] [2015/04/14 01:45:48 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=slave, master=db1, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=0, active=0) | +----------------------------------------------------------------------------+
Composite Active Dataservice (Primary) -
west
[LOGICAL] /east >use west
west: session established [LOGICAL] /west >ls
COORDINATOR[db4:AUTOMATIC:ONLINE] ROUTERS: +----------------------------------------------------------------------------+ |connector@db1[9745](ONLINE, created=0, active=0) | |connector@db2[9911](ONLINE, created=0, active=0) | |connector@db3[9775](ONLINE, created=0, active=0) | |connector@db4[9757](ONLINE, created=0, active=0) | |connector@db5[9781](ONLINE, created=0, active=0) | |connector@db6[9944](ONLINE, created=0, active=0) | +----------------------------------------------------------------------------+ DATASOURCES: +----------------------------------------------------------------------------+ |db4(master:ONLINE, progress=3, THL latency=0.671) | |STATUS [OK] [2015/04/14 01:45:42 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=master, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=0, active=0) | +----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+ |db5(slave:ONLINE, progress=3, latency=1.581) | |STATUS [OK] [2015/04/14 01:45:48 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=slave, master=db4, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=0, active=0) | +----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+ |db6(slave:ONLINE, progress=3, latency=1.559) | |STATUS [OK] [2015/04/14 01:45:47 AM UTC] | +----------------------------------------------------------------------------+ | MANAGER(state=ONLINE) | | REPLICATOR(role=slave, master=db4, state=ONLINE) | | DATASERVER(state=ONLINE) | | CONNECTIONS(created=0, active=0) | +----------------------------------------------------------------------------+