Configuring multi-master replication between collectives

Multi-master replication is a technique for ensuring continuous availability across multiple deployment environments. By establishing collective links between the catalog servers in your collectives, you can asynchronously replicate data between data grids in two different collectives.

Before you begin

About this task

A single collective does not span an unreliable network because false positive failure detections might occur. However, you might still want to replicate data grid data across appliances that have unreliable network connectivity. Some common scenarios where you might want to use this type of topology follow:
  • Disaster recovery between data centers where one collective is active and the other is used for backup.
  • Geographically distributed data centers where all collectives are active for geographically close clients.
After you connect two collectives, any data grids that have the same names are asynchronously replicated between the collectives. These data grids must have the same number of replicas in each collective, and must have the same dynamic map configurations.

Procedure

  1. Verify that the collectives you want to link share the same secret key. The same secret key must be exchanged between collectives in order for data grid authentication to work.
    1. If you need to edit the secret key, click Collective > Settings
    2. Select the Override factory default authentication secret key check box.
    3. Enter the key phrase into the box and verify the key.
    4. Click Save.
    5. Restart the appliance in the collective.
  2. Establish a link between the collectives.
    • Establishing collective links with the user interface:
      1. In the user interface, click Collective > Collective Links.
      2. Click the add icon (New) and enter the remote appliance host name or IP address, user name, and password.
    • Establishing collective links with the xscmd utility:
      1. Get the catalog server IP address and port for the catalog servers in each collective. In the user interface, click Collective > Members > collective_member_name. A list of catalog servers and port numbers is displayed. Repeat this step for each collective that you want to connect.
      2. Connect the xscmd utility to one of the collectives. For more information about starting the xscmd utility, see Administering with the xscmd utility.
        xscmd -ts xsatruststore.jks -tst jks -ssl -tsp xc10pass 
        -user xcadmin -tsp xcadmin -cep myxc10.mycompany.com:2809 
        [additional_xscmd_parameters]
      3. From the collective to which you are currently connected, run the following command:
        xscmd –c establishLink -cep myxc10.mycompany.com:2809 -fd dname 
        -fe myxc102.mycompany.com:2809,myxc103.mycompany.com:2809
        The -fd dname specifies the name of the remote collective you want to establish a link. In the example, dname, is the name of remote collective. You can find a collective's name by looking at the catalog server list on the members detail panel. The collective name is the first IP address in the list.

    When the link is established, the catalog servers in the collectives begin to replicate with each other. You do not need to establish the link in both directions.

  3. You can also dismiss links between collectives.
    • Dismissing collective links with the user interface: In the user interface, click the remove icon (delete) to remove a selected link.
    • Dismissing collective links with the xscmd utility: With the xscmd utility, run the following command:
      xscmd –c dismissLink -cep myxc10.mycompany.com:2809 -fd dname

What to do next

[Version 2.5.0.3 and later]
  • In the user interface, click Collective > Collective Links > collective_name. The panel displays one of the following statuses in the Link status field:
    • Established
    • Dismissed
    • Establishing
    • Dismissing
    • Unknown
  • In the xscmd utility, run the xscmd -showLinkedDomains -v command. The status displays in a column next to the name of the catalog service domain.