DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • Building a 24-Core Docker Swarm Cluster on Banana Pi Zero
  • Useful System Table Queries in Relational Databases
  • Designing a Blog Application Using Document Databases
  • Relational DB Migration to S3 Data Lake Via AWS DMS, Part I

Trending

  • Chat With Your Knowledge Base: A Hands-On Java and LangChain4j Guide
  • MCP Servers: The Technical Debt That Is Coming
  • GitHub Copilot's New AI Coding Agent Saves Developers Time – And Requires Their Oversight
  • The Future of Java and AI: Coding in 2025
  1. DZone
  2. Data Engineering
  3. Databases
  4. Coordinating an Apache Ignite Cluster With GridGain Control Center

Coordinating an Apache Ignite Cluster With GridGain Control Center

GridGain simplifies the complex architectures by managing Apache Ignite clustered environments. This article shows Ignite cluster configuration to work with GridGain.

By 
Denis Magda user avatar
Denis Magda
DZone Core CORE ·
Dec. 17, 21 · Tutorial
Likes (2)
Comment
Save
Tweet
Share
5.4K Views

Join the DZone community and get the full member experience.

Join For Free

Bundling various data sources, APIs, services, applications, and several data streams while managing application data integration can become cumbersome. It’s so complex that it typically results in application performance loss. So, database administrators use Apache Ignite, a distributed database that provides high-performance computing capabilities using in-memory speed. Integrating Apache Ignite as an in-memory caching or distributed database solution helps improve the velocity and performance of complex architecture.

But, at the same time, this solution presents new challenges: we’re integrating yet another component into our already complex architecture. GridGain provides a solution to this challenge enabling monitoring, managing, and troubleshooting Apache Ignite clustered environments, whether they’re running as an on-premises solution or as a SaaS offering in the cloud. 

This article shows how to configure an Ignite cluster to work with GridGain Control Center and what we can do with it.

Apache Ignite Setup

Before setting up the GridGain Control Center, you need to have your Apache Ignite cluster up and running. The article won’t go into too much detail about installing this software but instead will provide the basic steps.

The sample scenario we use in this article runs on a cluster of two Apache Ignite nodes running on Windows Server 2016. You can manage the cluster’s orchestration using the SaaS-hosted version of the GridGain Control Center.

Once you download the binary files from the Ignite website, extract them to a directory on your server. Next, run ignite.bat  from within the bin directory. This script starts an Ignite node, and the node prints out diagnostics and logging information related to the run-time.

Screenshot - 1

Running GridGain Control Center

You can install the GridGain Control Center in several ways, including a complete software installation on a Linux machine, a Docker Container stand-alone, a Kubernetes-based scenario, or using the SaaS-hosted alternative. There’s no functionality or feature difference between the various topologies. For this article, we use the hosted SaaS trial version. 

Create a GridGain account if you don’t have one yet. Once authenticated, you must choose either GridGain Nebula or Existing Cluster. Choose Existing Cluster by clicking Attach Cluster.

Screenshot - 2

To add your Apache Ignite clusters, click Download the Agent in the Apache Ignite Users Should section. This redirects you to the GridGain download web page. 

Screenshot - 3

On the GridGain's Downloads page, select Software, then select GridGain Control Center Agent from the list of downloads.

 Screenshot - 4


Now select the agent for your Ignite platform. Ensure the agent version corresponds to the Ignite version you’re running.

Screenshot - 5

Download and extract the Agent archive to your machine, and extract the ZIP file into its own Ignite folder. 

Screenshot - 6

Your running Ignite instance contains the same folders in the Program Files folder (on Windows Server). Copy the content of the Control Center's bin and libs folders into similar folders located under the Ignite Program Files folder:

 Screenshot - 7

Restart the Ignite nodes, and check the startup logs. They contain a reference to the control-center-agent module and provide a unique token and direct URL to connect to the GridGain Control Center.

Screenshot - 8

Copy the token, return to Control Center and Add Cluster by providing the token:

Screenshot - 9

Clicking Add Cluster adds the cluster to the Control Center Dashboard, listing the different nodes in the cluster. The dashboard displays each node’s health, CPU, memory, heap size, and heat map in real-time.

Screenshot - 10

We’re set up now and ready to dig into some of the core Control Center capabilities and features.

Using the GridGain Control Center

Control Center offers a multitude of features for typical administrative tasks when managing, monitoring, or troubleshooting Apache Ignite. Let’s briefly touch on some of them.

Receive Alerts

The Alert feature enables you to define notifications (email or text messages) for more than 150 customizable metrics. Let’s quickly set up an alert for losing a node in our monitored cluster.

On the toolbar on the left, click Alerts. Then, click Add Configuration.

Screenshot - 11

Complete the necessary parameters, using the following sample data:

  • Name: Provide a clear name for the alert — for example, lost_node.
  • Metric Name: From the pop-up window listing metrics, select the cluster metric option, then choose ServerNodesCount as the metric.

Screenshot - 12

  • Save the metric setting by clicking OK. 
  • Notice that the Add Configuration window now has a Condition field.

Screenshot - 13

  • Condition: This means we get an alert once we have fewer than the set number of nodes. Specify <= with a value of 2. 
  • Grace Period: This is the length of time before the alert kicks in. The default is 60,000ms. To see immediate alerts, change this value to 0.
  • Notification Channels: This is how you’re receiving alerts. Click Add Notification Channel, select the notification channel type of email and provide a valid email address. Save the channel setting by giving a name — for example, helpdesk.

The completed Configuration window looks like this now:

Screenshot - 14

After defining this alert and saving the configuration, you can test the alert configuration by shutting down one of your Ignite nodes. As long as you meet the condition of less than or equal to two, you are fine. 

 Check the results of the alert condition by clicking the Alerts tab. 

Screenshot - 15

The email message the GridGain Control Center sends summarizes the alert condition.

Screenshot - 16

SQL Execution and Optimization

SQL optimization is one of the GridGain Control Center’s most popular and potent features. It helps us run SQL scripts, like using SQL Management Studio or the like, directly from within the Control Center.

On the main GridGain page, on the left-side toolbar, click SQL, then select Queries List. Here, you can run any SQL query operation. The sample below creates a new table called Person with two fields, ID and Name, and some corresponding data.

Execute the following queries:

SQL
 
CREATE TABLE Person(ID INTEGER PRIMARY KEY, NAME VARCHAR(100));
INSERT INTO Person(ID, NAME) VALUES (1,’Ed’), (2, ‘Ann’), (3, ‘Emma);
SELECT * FROM Person;


Screenshot - 17

Control Center produces the following result set:

Screenshot - 18

Let’s update the query a little bit to add additional records to the table. Here’s a sample query to trigger updates:

SQL
 
INSERT INTO Person(ID, NAME) VALUES (4,’Peter’), (5, ‘Jane’), (6, ‘Emma);
SELECT * FROM Person;


The result looks like this:

 Screenshot - 19


Even more powerful are the built-in Query Statistics and Query Analyzer features. First, navigate to Query Statistics.

Screenshot - 20

This tab shows a list of the most recent query actions performed. At the right end of a query line, click <…> and select Explain Query. This action opens a new tab that shows the query job's analytics and details of how the data was composed. For example, run a select query to find all duplicates in the Name column with the value Emma.

Screenshot - 21

You can make this query perform better by creating an index for the Name table, as you would with a traditional SQL database. Then, re-run the same query afterward, and it runs much faster. 

Backup and Recover

This option is available in the GridGain Ultimate Edition by clicking Snapshots in the toolbar on the main page. This feature allows taking snapshots of your clusters and running restores in case of a disaster. You can see snapshots as traditional diagrams of relational databases to learn more. 

Screenshot - 22

Conclusion

Managing Apache Ignite can be cumbersome without proper tools. GridGain Control Center simplifies Apache Ignite administration, troubleshooting and optimization with a visual interface to your cluster.  Its capabilities help developers and administrators understand Apache Ignite clusters' health and performance states. It also has powerful, customizable alerting, intelligent SQL query analytics, and detailed node metrics views. 

Docker (software) Control Center (iOS) Apache Ignite Database Relational database

Opinions expressed by DZone contributors are their own.

Related

  • Building a 24-Core Docker Swarm Cluster on Banana Pi Zero
  • Useful System Table Queries in Relational Databases
  • Designing a Blog Application Using Document Databases
  • Relational DB Migration to S3 Data Lake Via AWS DMS, Part I

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!