GridGain Developers Hub

Connecting an Apache Ignite Cluster

This page explains how to connect an Apache Ignite cluster to GridGain Control Center. You can connect as many clusters as your license supports. Control Center allows you to switch between the clusters at will.

A standard procedure for connecting an Ignite cluster to Control Center involves the following steps:

  1. Configure your cluster:

    1. Download the Control Center Agent module;

    2. Enable metrics;

  2. Register the cluster in Control Center

The following diagram illustrates how Control Center interacts with the cluster and web browser.

Connect Apache Ignite Cluster to Control Center

Configuring Your Cluster

Enabling the Control Center Module

The connection between the cluster and Control Center is initiated from the cluster side. For this to happen, you need to enable the control-center-agent module in the cluster. The module must be enabled on all server nodes. If you plan to connect client nodes to your cluster, enable the module on the client nodes as well. Otherwise, you will get the following exception on the client node:

java.lang.ClassNotFoundException: org.gridgain.control.agent.configuration.ControlCenterAgentConfiguration

Binary Package

  1. Contact us to obtain the gridgain-control-center-on-premise-[version] archive.

  2. Unpack the archive into the folder with the Apache Ignite installation. The archive contains the following folders:

    bin/
    libs/
        control-center-agent/

    Copy the content of the bin folder to {IGNITE_HOME}/bin/, and the libs/control-center-agent folder to {IGNITE_HOME}/libs.

    If you start Ignite nodes from a java application, manually copy the libraries from gridgain-control-center-agent-{version}/libs/control-center-agent to your classpath.

  3. Start your cluster. You should see the following message in the console output of the coordinator node:

    node output

    You can copy the link and open it in your browser, or copy the ID and add the cluster in Control Center.

Maven Artifact

If you use Maven to start your nodes, add the following dependency to your pom.xml:

<repositories>
    <repository>
        <id>GridGain External Repository</id>
        <url>http://www.gridgainsystems.com/nexus/content/repositories/external</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.gridgain</groupId>
        <artifactId>control-center-agent</artifactId>
        <version>2.8.1.2</version>
    </dependency>
</dependencies>

Enabling Metrics

Control Center collects metrics from the cluster nodes that are running. Most metrics are available by default, but some metrics must be enabled in the cluster before you can view them in Control Center.

You can enable metrics in two ways:

  • In the cluster configuration, or

  • Via JMX Beans at runtime

Refer to this page for details.

Enabling Tracing

You can enable tracing capabilities and view traces in Control Center in two ways:

  1. The best way to configure tracing is to use the Tracing screen of the Control Center.

  2. To configure tracing programmatically, see the Tracing page for more detail.

Embedded Mode

When launching Ignite in embedded mode, please include the following JVM arguments:

--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
--illegal-access=permit

Docker Deployment

To connect an Apache Ignite cluster to Control Center deployed in Docker, please perform the steps and note information below:

Deploy a Control Center Agent in Docker as it is not provided in the original delivery:

  • Download the Control Center Agent and unzip it to the control-center-agent directory.

  • Run start.sh that creates new Docker image and starts both Control Center and 2 Apache Ignite nodes.

The containers must have a common network, otherwise Control Center Agent will not detect Control Center and will not be able to connect to it.

Use the configuration below for the Control Center deployed in Docker:

version: '3.7'
services:
  ignite-server-node:
    image: apacheignite/ignitecc:2.15.0
    environment:
      - CONFIG_URI=/opt/ignite/ext-config/ignite-config-node.xml
      - IGNITE_WORK_DIR=/opt/ignite/work
      - OPTION_LIBS=control-center-agent
    volumes:
      - ./config:/opt/ignite/ext-config
      - ./work:/opt/ignite/work

Use the configuration below for the GridGain hosted Control Center:

version: '3.7'
services:
  ignite-server-node:
    image: apacheignite/ignitecc:2.15.0
    environment:
      - CONFIG_URI=/opt/ignite/ext-config/ignite-config-node.xml
      - IGNITE_WORK_DIR=/opt/ignite/work
      - OPTION_LIBS=control-center-agent
    volumes:
      - ./config:/opt/ignite/ext-config
      - ./work:/opt/ignite/work