Apache Ignite

GridGain Developer Hub - Apache Ignitetm

Welcome to the Apache Ignite developer hub run by GridGain. Here you'll find comprehensive guides and documentation to help you start working with Apache Ignite as quickly as possible, as well as support if you get stuck.

 

GridGain also provides Community Edition which is a distribution of Apache Ignite made available by GridGain. It is the fastest and easiest way to get started with Apache Ignite. The Community Edition is generally more stable than the Apache Ignite release available from the Apache Ignite website and may contain extra bug fixes and features that have not made it yet into the release on the Apache website.

 

Let's jump right in!

 

Documentation     Ask a Question     Download

 

Javadoc     Scaladoc     Examples

YARN Deployment

Deploy Ignite in YARN cluster.

Overview

Integration with YARN supports scheduling and running Apache Ignite nodes in a YARN cluster.
YARN is a resource negotiator which provides a general runtime environment providing all the essentials to deploy, run and manage distributed applications. Its resource manager and isolation helps getting the most out of servers.
For information about YARN, refer to http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

Ignite YARN Application

Deploying Apache Ignite cluster typically involves downloading the Apache Ignite distribution, changing configuration settings and starting the nodes up. Integration with YARN allows to avoid the actions. Apache Ignite Yarn Application allows to greatly simplify cluster deployment. The application consist from the following components:

  • Client downloads ignte distributive, puts necessary resources to HDFS, creates the necessary context for launching the task, launches the ApplicationMaster process.
  • Application master. Once registration is successful the component will begin requesting of resource from Resource Manager to utilize resources for Apache Ignite nodes. The Application Master will maintain the Ignite cluster at desired total resources level (CPU, memory, etc).
  • Container - the entity that runs Ignite Node on slaves.

Running Ignite YARN Application

For running Ignite Application requires YARN and Hadoop cluster are configured and running. For information on how to set up a the cluster please refer to http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

  1. Download Apache Ignite.
  2. Configure properties file. Update any parameters which would like to change. See Configuration section below.
# The number of nodes in the cluster.
IGNITE_NODE_COUNT=2
 
# The number of CPU Cores for each Apache Ignite node.
IGNITE_RUN_CPU_PER_NODE=1
 
# The number of Megabytes of RAM for each Apache Ignite node.
IGNITE_MEMORY_PER_NODE=2048
 
# The version ignite which will be run on nodes.
IGNITE_VERSION=1.0.6
  1. Run the application.

hadoop java jar ignite-yarn-<ignite-version>.jar ./ignite-yarn-<ignite-version>.jar cluster.properties

  1. In order to make sure that Application deployed correctly, do the following. Open YARN console at http://<hostname>:8088/cluster. If everything works OK then application with Ignition name.
  1. Retrieve logs from the browser. To look through Ignite logs, click on Logs for any containers.
  1. Click on stdout to get stdout logs and on stderr to get stderr logs.

Configuration

All configurations are handled through environment variables or property file. Following configuration parameters can be optionally configured.

Name
Description
Default
Example

IGNITE_XML_CONFIG

The hdfs path to Apache Ignite config file.

N/A

/opt/ignite/ignite-config.xml

IGNITE_WORK_DIR

The directory which will be used for saving Apache Ignite distributives.

./ignite-release

/opt/ignite/

IGNITE_RELEASES_DIR

The hdfs directory which will be used for saving Apache Ignite distributives.

/ignite/releases/

/ignite-rel/

IGNITE_USERS_LIBS

The hdfs path to libs which will be added to classpath.

N/A

/opt/libs/

IGNITE_MEMORY_PER_NODE

The number of Megabytes of RAM for each Apache Ignite node. This is the size of the Java heap.

2048

1024

IGNITE_MEMORY_OVERHEAD_PER_NODE

The amount of memory allocated to handle JVM native overheads, interned Strings,... but also off-heap memory if you use it. Memory requested to YARN for containers running Ignite node is the sum of IGNITE_MEMORY_PER_NODE and IGNITE_MEMORY_OVERHEAD_PER_NODE.

IGNITE_MEMORY_PER_NODE * 0.10, with a minimum of 384

512

IGNITE_HOSTNAME_CONSTRAINT

The constraint on slave hosts.

N/A

192.168.0.[1-100]

IGNITE_NODE_COUNT

The number of nodes in the cluster.

3

10

IGNITE_RUN_CPU_PER_NODE

The number of CPU Cores for each Apache Ignite node.

2

4

IGNITE_VERSION

The version ignite which will be run on nodes.

latest

1.0.5

IGNITE_PATH

The hdfs path to Apache Ignite build. The property can be useful when yarn cluster running in net without access to internet.

N/A

/ignite/apache-ignite-fabric-1.7.0-bin.zip

YARN Deployment

Deploy Ignite in YARN cluster.