Configuring Cache and Cluster Topology for Apache Ignite

By default, the cluster topology configuration is specified in the IgniteMember.xml file located at $MQ_HOME/config.

  • Cache configuration: The cache configuration is defined in the CacheConfig.xml file. By default, TIBCO MDM configures all caches to ATOMIC, OFF-HEAP, and SWAP disabled.
  • Cluster topology configuration: TIBCO MDM supports the following two cluster topologies. You can configure both of them with Apache Ignite:
Note: By default, IgniteMember.xml configuration restricts a single node cache topology by using the localHost=127.0.0.1 property. To configure multinode distributed cache, remove the localHost property.

Procedure

  1. Navigate to the $MQ_HOME/config folder.
  2. Open the IgniteMember.xml file.
    The following table explains various properties defined in the IgniteMember.xml file.
    Property Name Description Default Value
    Cache Configuration
    clientMode Defines the role of a node. For centralized cache server architecture, Apache Ignite can be started as a standalone process and TIBCO MDM connects to Apache Ignite cluster as a client node. To run TIBCO MDM in client mode, set clientMode to true. Client node cannot hold data in the caches. false
    peerClassLoadingEnabled If peerClassLoadingEnabled is set to true, you do not have to manually deploy your Java code on each node in the grid and re-deploy it each time it changes. For performance reasons, the property is set to false. false
    gridName Defines a name to Apache Ignite instance. It helps when multiple instances needed within same JVM. MDMNODE
    localHost Gets system-wide local address or host for all components of Apache Ignite to bind to. If defined, it overrides all default local bind settings within Apache Ignite or any of its SPIs. If null, then Apache Ignite tries to use the local wildcard address. That means all services are available on all network interfaces of the host machine.
    Note: For cluster setup, you need to remove this property.
    127.0.0.1
    metricsLogFrequency Metrics print frequency in Millisecond. The zero value indicates that no print is required. If the value is greater than zero and the log is not quiet, then statistics are printed with INFO level once a period. 60000 (every minute)
    Cluster Topology Configuration
    ipFinder IP finder that shares information about the IP addresses of nodes. Nodes can discover each other by using DiscoverySpi. Apache Ignite provides TcpDiscoverySpi as a default implementation of DiscoverySpi that uses TCP/IP for node discovery. You can configure DiscoverySpi for multicast and Static IP based node discovery. The default value is TcpDiscoveryMulticastIpFinder.

    You can specify the TcpDiscoveryVmIpFinder implementation.

    localAddress Sets the local host IP address that DiscoverySpi uses If not provided, by default a first found non-loopback address is used. If there is no non-loopback address available, then java.net.InetAddress.getLocalHost() is used.
    localPort Port the DiscoverySpi listens to 47500
    localPortRange Local port range. Local node tries to bind on the first available port starting from local port until local port plus local port range 100
    heartbeatFrequency Delay in milliseconds between heartbeat issuing of heartbeat messages. SPI sends messages in configurable time interval to other nodes to notify them about its state. 2000
    maxMissedHeartbeats Number of heartbeat requests that could be missed before local node initiates status check. 1
    reconnectCount Number of times node tries to (re)establish connection to another node. 2
    networkTimeout Sets maximum network timeout in milliseconds to use for network operations. 5000
    socketTimeout Sets socket operations timeout. This timeout limits the connection time and write-to-socket time. 2000
    ackTimeout Sets timeout for receiving acknowledgment for sent message. If acknowledgment is not received within this timeout, sending is considered as failed and SPI tries to repeat message sending. 2000
    joinTimeout Sets join timeout. If non-shared IP finder is used and node fails to connect to any address from IP finder, node keeps trying to join within this timeout. If all addresses are still unresponsive, an exception is thrown and the node startup fails. The zero (0) value indicates that wait forever. 0
    threadPriority Thread priority for threads started by SPI. 0
    statisticsPrintFrequency Statistics print frequency in milliseconds. The zero (0) value indicates that no print is required. If the value is greater than zero (0) and the log is not quiet, then statistics are printed with INFO level once a period. This might be helpful for tracing the topology problems. 0