<!--
 ▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
 ▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
 ▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
  ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
  ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
      ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
-->

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!DOCTYPE html>
<html lang="en">
<head>

    <link rel="canonical" href="https://ignite.apache.org/download.html"/>
    
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-61232409-1');
</script>



<meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Expires" content="0"/>
    <title>Downloads - Apache Ignite</title>


    <!-- begin include include of "/includes/styles.html" -->

    <!-- ***NOTICE***
         As of 2015-08-31, SSI does not work with the "virtual"
         downloads.cgi hack. Therefore, we're including the banners,
         navbars and notices explicitly. -->
    
</head>
<body class="line-numbers">
<!-- begin include of "/includes/header.html" -->


<header id="header" class="affix header sticky-top shrink" data-spy="affix" data-offset-top="0">
    <div id="promotion-bar">
        <p>
            Apache Ignite Track at ApacheCon@Home 2020:
            <a href="https://www.apachecon.com/acna2020/tracks/ignite.html"
               rel="noopener" target="_blank"
               onclick="gtag('event',  'banner_click', { 'event_category': 'ignite_tech_talk', 'event_label': 'apachecon-home-202'});">
                Join talks by our committers
            </a>
        </p>
    </div>
    <div class="container">
        <nav id="nav" class=" navbar navbar-expand-lg d-flex bd-highlight mb-3" role="navigation">
            <a href="/" class="mr-auto p-2 bd-highlight navbar-brand" aria-label="Ignite Homepage"><img
                    src="/images/ignite_logo_full.svg" alt="Apache Ignite Logo"></a>


            <button aria-label="Main Menu" type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar">
                        <span class="navbar-toggler-icon"><i class="fas fa-bars" aria-hidden="true"></i>
                        </span>
            </button>

            <div class="collapse navbar-collapse p-2 bd-highlight" id="navbar">
                <ul class="navbar-nav ">
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" role="button" data-toggle="dropdown" aria-haspopup="true"
                           aira-expanded="false" aria-label="Features" id="navbarFeatures">Features</a>
                        <ul class="dropdown-menu" aria-labelledby="navbarFeatures">
                            <li class="dropdown-subtitle">Features</li>

                            <li class="dropdown-item"><a href="/arch/multi-tier-storage.html"
                                                         aria-label="Memory Centric Storage"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_features', 'event_label': 'memory_centric'});">
                                Multi-Tier Storage</a>
                            </li>
                            <li class="dropdown-item"><a href="/arch/native-persistence.html"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_features', 'event_label': 'persistence'});">
                                Native Persistence</a>
                            </li>
                            <li class="dropdown-item"><a href="/features/sql.html" aria-label="Features"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_features', 'event_label': 'distributed_sql'});">
                                Distributed SQL</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/key-value-store.html" aria-label="DataGrid"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_features', 'event_label': 'distributed_key_value'});">
                                Distributed Key-Value</a>
                            </li>
                            <li class="dropdown-item"><a href="/features/acid-transactions.html" aria-label="Transactions"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_features', 'event_label': 'acid_transactions'});">
                                ACID Transactions</a>
                            </li>
                            <li class="dropdown-item"><a href="/features/collocated-processing.html"
                                                         aria-label="Collocated Processing"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_features', 'event_label': 'collocated_processing'});">
                                Co-located Processing</a>
                            </li>
                            <li class="dropdown-item"><a href="/features/machinelearning.html"
                                                         aria-label="Machine Learning"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_features', 'event_label': 'machine_learning'});">
                                Machine Learning</a>
                            </li>
                            <li class="dropdown-item"><a href="/features.html"><i>More Features</i></a></li>


                            <!-- Ignite tooling. -->
                            <li role="presentation" class="dropdown-subtitle">Tooling</li>
                            <li class="dropdown-item"><a href="/features/management-and-monitoring.html"
                                                         aria-label="Ignite Management & Monitoring"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_features', 'event_label': 'ignite_manage_monitor'});">
                                Management & Monitoring</a>
                            </li>
                        </ul>
                    </li>

                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" role="button" data-toggle="dropdown" aria-haspopup="true"
                           aira-expanded="false" id="navbarUseCases" aria-label="Use Cases">Use Cases</a>
                        <ul class="dropdown-menu" role="menu">
                            <li class="dropdown-subtitle" role="presentation">Caching & Database</li>
                            <li class="dropdown-item"><a href="/use-cases/in-memory-cache.html"
                                                         aria-label="In-Memory Cache"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_usecases', 'event_label': 'in_memory_cache'});">
                                In-Memory Cache</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/in-memory-data-grid.html"
                                                         aria-label="In-Memory Data Grid"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_usecases', 'event_label': 'data_grid'});">
                                In-Memory Data Grid</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/in-memory-database.html"
                                                         aria-label="In-Memory Database"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_usecases', 'event_label': 'distributed-database'});">
                                In-Memory Database</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/key-value-store.html"
                                                         aria-label="Key-Value Store"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_usecases', 'event_label': 'key_value_store'});">
                                Key-Value Store</a>
                            </li>


                            <li class="dropdown-subtitle" role="presentation">Data & Compute Hubs</li>
                            <li class="dropdown-item"><a href="/use-cases/high-performance-computing.html"
                                                         aria-label="High-Performance Computing"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_usecases', 'event_label': 'massive_parallel_processing'});">
                                High-Performance Computing</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/digital-integration-hub.html" aria-label="Digital Integration Hub"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_usecases', 'event_label': 'digital_integration_hub'});">
                                Digital Integration Hub</a>
                            </li>


                            <li class="dropdown-subtitle" role="presentation">Faster Analytics</li>
                            <li class="dropdown-item"><a href="/use-cases/spark-acceleration.html"
                                                         aria-label="Apache Spark Acceleration"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_usecases', 'event_label': 'apache_spark_acceleration'});">
                                Apache Spark Acceleration</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/hadoop-acceleration.html"
                                                         aria-label="Hadoop Acceleration"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_usecases', 'event_label': 'hadoop_acceleration'});">
                                Apache Hadoop Acceleration</a>
                            </li>


                            <li class="dropdown-subtitle" role="presentation">Ignite in Production</li>
                            <li class="dropdown-item"><a href="/use-cases/provenusecases.html"
                                                         aria-label="Powered by Ignite"
                                                         onclick="gtag('event',  'menu_click', { 'event_category': 'apache_ignite_usecases', 'event_label': 'proven_usecases'});">
                                Powered by Ignite</a>
                            </li>
                        </ul>
                    </li>
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" role="button" data-toggle="dropdown" aria-haspopup="true"
                           aira-expanded="false" aria-label="Resources" id="navbarResources">Resources</a>
                        <ul class="dropdown-menu" role="menu">
                            <li class="dropdown-subtitle" role="presentation">Learn Ignite</li>
                            <li class="dropdown-item"><a href="/docs-and-apis.html">Documentation & APIs</a></li>
                            <li class="dropdown-item"><a href="/screencasts.html">Videos</a></li>
                            <li class="dropdown-item"><a href="https://github.com/apache/ignite/tree/master/examples"
                                                         target="_blank" rel="noopener">
                                Examples <i class="fas fa-external-link-alt" style="padding-left:5px;"></i></a></li>
                            <li class="dropdown-item"><a href="https://www.shamimbhuiyan.com/ignitebook" target="_blank"
                                                         rel="noopener">Ignite Book<i
                                    class="fas fa-external-link-alt" style="padding-left:5px;"></i></a></li>
                            <li class="dropdown-item"><a href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/" target="_blank"
                                                         rel="noopener">Virtual Apache Ignite Meetup<i
                                    class="fas fa-external-link-alt" style="padding-left:5px;"></i></a></li>
                            <li class="dropdown-item"><a
                                    href="https://www.pluralsight.com/courses/apache-ignite-getting-started"
                                    target="_blank" rel="noopener">
                                Getting Started Course<i class="fas fa-external-link-alt" style="padding-left:5px;"></i></a>
                            </li>
                            <li class="dropdown-subtitle" role="presentation">FAQ & Assets</li>
                            <li class="dropdown-item">
                                <a href="/in-memory-computing.html" aria-label="whats-imc"
                                   onclick="gtag('event', 'menu_click', { 'event_category': 'whats-imc', 'event_label': 'whats-imc'});">
                                    What's In-Memory Computing?</a>
                            </li>
                            <li class="dropdown-item">
                                <a href="/whatisignite.html" aria-label="whats-ignite"
                                   onclick="gtag('event',  'menu_click', { 'event_category': 'whatisignite', 'event_label': 'whatisignite_page'});">
                                    What's Apache Ignite?</a>
                            </li>
                            <li class="dropdown-item">
                                <a href="https://github.com/apache/ignite-website/tree/master/images/png-diagrams" aria-label="ignite-assets"
                                   onclick="gtag('event',  'menu_click', { 'event_category': 'ignite_assets', 'event_label': 'ignite_assets'});" rel="noopener" target="_blank">
                                    Ignite Assets<i
                                        class="fas fa-external-link-alt" style="padding-left:5px;"></i></a>
                            </li>
                        </ul>
                    </li>
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" role="button" data-toggle="dropdown" aria-haspopup="true"
                           aira-expanded="false" aria-label="Community" id="navbarCommunity">Community</a>
                        <ul class="dropdown-menu" role="menu">
                            <li class="dropdown-subtitle" role="presentation">Questions & Issues</li>
                            <li class="dropdown-item"><a href="/community/resources.html">Mailing Lists & Forums</a>
                            </li>
                            <li class="dropdown-item"><a href="https://issues.apache.org/jira/browse/IGNITE"
                                                         target="_blank" rel="noopener">
                                Ignite Jira <i class="fas fa-external-link-alt" style="padding-left:5px;"></i></a></li>
                            <li class="dropdown-item">
                                <a href="https://cwiki.apache.org/confluence/display/IGNITE/Third+Party+Support+and+Employment"
                                   target="_blank" rel="noopener">
                                    Production Support <i class="fas fa-external-link-alt" style="padding-left:5px;"></i></a>
                            </li>
                            </li>

                            <li class="dropdown-subtitle" role="presentation">Contributions</li>
                            <li class="dropdown-item"><a href="/community/contribute.html">Start Contributing</a></li>
                            <li class="dropdown-item"><a href="/community/resources.html#people">Committers and PMC</a>
                            </li>
                            <li class="dropdown-item"><a href="https://cwiki.apache.org/confluence/display/IGNITE/"
                                                         target="_blank" rel="noopener">
                                Ignite Wiki <i class="fas fa-external-link-alt" style="padding-left:5px;"></i></a></li>
                            <li class="dropdown-item"><a href="/community/resources.html#git">Github Repo <i
                                    class="fa fa-github fa-lg" style="padding-left:5px;"></i></a></li>

                            </li>
                        </ul>
                    </li>

                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" role="button" data-toggle="dropdown"
                           aria-haspopup="true" aira-expanded="false" aria-label="Events"
                           id="navbarEvents">Events</a>
                        <ul class="dropdown-menu" role="menu">
                            <li class="dropdown-item"><a href="/events.html">Events Schedule</a></li>
                            <li class="dropdown-item"><a href="/meetup-groups.html">Ignite Meetups</a></li>
                        </ul>
                    </li>
                    <li class="nav-item">
                        <a class="btn btn-secondary" href="/download.cgi">Download</a>
                    </li>
                </ul>
            </div>
        </nav>
    </div>
</header>



<!-- end include of "/includes/header.html" -->

<!-- START OF MAIN SITE BODY -->
<article>
    <header>
        <div class="container">

            <h1>Apache Ignite <strong>Downloads</strong></h1>
        </div>
    </header>
    <div class="container" id="downloads-page">

        <!-- Update the following template variables for every release -->
        [define distdir]ignite[end]
        [define disturl]https://www.apache.org/dist[end]

        <p>Download Apache Ignite&reg; and install in your environment. Select from one of the available options.</p>

        <section id="toc" class="page-section">
            <div class="jumbotron jumbotron-fluid">
                <div class="container">
                    <div class="row">
                        <div class="col-sm-6">
                            <ul>
                                <li><a href="#sources">Source Releases</a></li>
                                <li><a href="#binaries">Binary Releases</a></li>
                                <li><a href="#build-source">Building the Binaries</a></li>
                                <li><a href="#docker">Docker and Cloud Images</a></li>
                                <li><a href="#git-repository">Git Repository</a></li>
                                <li><a href="#extensions">Extensions</a></li>
                            </ul>
                        </div>
                        <div class="col-sm-6">
                            <ul>
                                <li><a href="#maven">Download from Maven</a></li>
                                <li><a href="#nuget">Download from NuGet</a></li>
                                <li><a href="#deb-package">DEB Package Installation</a></li>
                                <li><a href="#rpm-package">RPM Package Installation</a></li>
                                <li><a href="#3rdparty">3<sup>rd</sup> Party Binaries</a></li>
                            </ul>
                        </div>
                    </div>
                    <p>
                        To get LGPL dependencies (e.g. Hibernate L2 Cache),
                        see <a href="#build-source">Building The Binaries</a>.</p>
                </div>
            </div>
        </section>

        <section id="sources" class="page-section">
            <h2>Source Releases</h2>

            <table class="table table-bordered table-striped">
                <thead>
                <tr>
                    <th>Version</th>
                    <th>Docs</th>
                    <th>Release Notes</th>
                    <th>Date</th>
                    <th>Source</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td style="white-space: nowrap;">2.8.1 (latest)</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.8.1/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.8.1/javadoc/">javadoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.8.1/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2020-05-27</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="[preferred]/[distdir]/2.8.1/apache-ignite-2.8.1-src.zip"
                           onclick="gtag('event',  'download', {'event_category': 'apache_ignite_source_download', 'event_label': 'apache-ignite-2.8.1'});">apache-ignite-2.8.1-src.zip</a>

                        (<a href="https://downloads.apache.org/ignite/2.8.1/apache-ignite-2.8.1-src.zip.asc">pgp</a>,
                        <a href="https://downloads.apache.org/ignite/2.8.1/apache-ignite-2.8.1-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.8.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.8.0/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.8.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.8.0/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.8.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2020-03-03</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.8.0/apache-ignite-2.8.0-src.zip"
                           onclick="gtag('event',  'download', {'event_category': 'apache_ignite_source_download', 'event_label': 'apache-ignite-2.8.0'});">apache-ignite-2.8.0-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.8.0/apache-ignite-2.8.0-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.8.0/apache-ignite-2.8.0-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.6</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7.6/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.6/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.6/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.6/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2019-09-19</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-src.zip"
                           onclick="gtag('event',  'download', {'event_category': 'apache_ignite_source_download', 'event_label': 'apache-ignite-2.7.6'});">apache-ignite-2.7.6-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.5</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7.5/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.5/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.5/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.5/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2019-06-04</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-src.zip"
                           onclick="gtag('event',  'download', {'event_category': 'apache_ignite_source_download', 'event_label': 'apache-ignite-2.7.5'});">apache-ignite-2.7.5-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.0/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-12-05</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-src.zip"
                           onclick="gtag('event',  'download', {'event_category': 'apache_ignite_source_download', 'event_label': 'apache-ignite-2.7.0'});">apache-ignite-2.7.0-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.6.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.6/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.6.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.6.0/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.6.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-07-16</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-2.6.0-src.zip"
                           onclick="gtag('event',  'download', {'event_category': 'apache_ignite_source_download', 'event_label': 'apache-ignite-2.6.0'});">apache-ignite-2.6.0-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-2.6.0-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-2.6.0-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.5.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.5/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.5.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.5.0/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.5.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-05-29</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-2.5.0-src.zip"
                           onclick="gtag('event',  'download', {'event_category': 'apache_ignite_source_download', 'event_label': 'apache-ignite-2.5.0'});">apache-ignite-2.5.0-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-2.5.0-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-2.5.0-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                </tbody>
            </table>
            <p>
                If you are looking for an earlier version of Apache Ignite, please find it in the
                <a href="https://archive.apache.org/dist/ignite">archive</a>.
            </p>
            <p>
                If you encounter a problem with the selected mirror, please choose another one. If primary mirrors
                are not reachable, switch to backup servers added to the end of the list.
            </p>
            <form action="/download.cgi" method="get" id="SelectMirror">
                Selected mirror:
                <select name="Preferred" onchange="submit()">
                    [if-any http]
                    [for http]
                    <option value="[http]" [is http preferred] selected="selected" [end]>[http]</option>
                    [end]
                    [end]
                    [if-any ftp]
                    [for ftp]
                    <option value="[ftp]" [is ftp preferred] selected="selected" [end]>[ftp]</option>
                    [end]
                    [end]
                    [if-any backup]
                    [for backup]
                    <option value="[backup]" [is backup preferred] selected="selected" [end]>[backup] (backup)</option>
                    [end]
                    [end]
                </select>
                <input type="submit" value="Change"/>
            </form>
        </section>

        <section id="binaries" class="page-section">
            <h2>Binary Releases</h2>
            <p>
                Binary release packages are provided for your convenience and not considered as primary
                release artifacts of the ASF. It's recommended to verify a release downloadable, following
                <a href="#verification">this guidelines</a>. For more information about Apache release policy see
                <a href="http://www.apache.org/dev/release.html#what" target="_blank">What is a Release?</a>
            </p>
            <table class="table table-bordered table-striped">
                <thead>
                <tr>
                    <th>Version</th>
                    <th>Docs</th>
                    <th>Release Notes</th>
                    <th>Date</th>
                    <th>Binary</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td style="white-space: nowrap;">2.8.1 (latest)</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.8.1/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.8.1/javadoc/">javadoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.8.1/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2020-05-27</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="[preferred]/[distdir]/2.8.1/apache-ignite-2.8.1-bin.zip"
                                onclick="gtag('event',  'download', {'event_category': 'apache_ignite_fabric_download', 'event_label': 'apache-ignite-2.8.1'});">apache-ignite-2.8.1-bin.zip</a>

                        (<a href="https://downloads.apache.org/ignite/2.8.1/apache-ignite-2.8.1-bin.zip.asc">pgp</a>,
                        <a href="https://downloads.apache.org/ignite/2.8.1/apache-ignite-2.8.1-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.8.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.8.0/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.8.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.8.0/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.8.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2020-03-03</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.8.0/apache-ignite-2.8.0-bin.zip"
                                onclick="gtag('event',  'download', {'event_category': 'apache_ignite_fabric_download', 'event_label': 'apache-ignite-2.8.0'});">apache-ignite-2.8.0-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.8.0/apache-ignite-2.8.0-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.8.0/apache-ignite-2.8.0-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.6</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7.6/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.6/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.6/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.6/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2019-09-19</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-bin.zip"
                                onclick="gtag('event',  'download', {'event_category': 'apache_ignite_fabric_download', 'event_label': 'apache-ignite-2.7.6'});">apache-ignite-2.7.6-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.5</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7.5/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.5/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.5/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.5/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2019-06-04</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-bin.zip"
                                onclick="gtag('event',  'download', {'event_category': 'apache_ignite_fabric_download', 'event_label': 'apache-ignite-2.7.5'});">apache-ignite-2.7.5-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.0/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-12-05</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-bin.zip"
                                onclick="gtag('event',  'download', {'event_category': 'apache_ignite_fabric_download', 'event_label': 'apache-ignite-2.7.0'});">apache-ignite-2.7.0-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.6.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.6/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.6.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.6.0/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.6.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-07-16</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-fabric-2.6.0-bin.zip"
                                onclick="gtag('event',  'download', {'event_category': 'apache_ignite_fabric_download', 'event_label': 'apache-ignite-2.6.0'});">apache-ignite-fabric-2.6.0-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-fabric-2.6.0-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-fabric-2.6.0-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.5.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.5/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.5.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.5.0/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.5.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-05-29</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-fabric-2.5.0-bin.zip"
                                onclick="gtag('event',  'download', {'event_category': 'apache_ignite_fabric_download', 'event_label': 'apache-ignite-2.5.0'});">apache-ignite-fabric-2.5.0-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-fabric-2.5.0-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-fabric-2.5.0-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                </tbody>
            </table>
            <p>If you are looking for previous release versions of Apache Ignite, please have a look in the
                <a href="https://archive.apache.org/dist/ignite">archive</a>.
            </p>

<!--            <h3>In-Memory Hadoop Accelerator</h3>-->
<!--            <p>The Community agreed to drop the Hadoop distributions of Apache Ignite, so newer versions not-->
<!--                available.</p>-->
<!--            <table class="table table-bordered table-striped">-->
<!--                <thead>-->
<!--                <tr>-->
<!--                    <th>Version</th>-->
<!--                    <th>Docs</th>-->
<!--                    <th>Release Notes</th>-->
<!--                    <th>Date</th>-->
<!--                    <th>Binary</th>-->
<!--                </tr>-->
<!--                </thead>-->
<!--                <tbody>-->
<!--                <tr>-->
<!--                    <td style="white-space: nowrap;">2.6.0 (latest)</td>-->
<!--                    <td style="white-space: nowrap;">-->
<!--                        <a href="https://apacheignite-fs.readme.io/v2.6.0/docs/hadoop-accelerator">guide</a>-->
<!--                    </td>-->
<!--                    <td style="white-space: nowrap;"><a-->
<!--                            href="https://ignite.apache.org/releases/2.6.0/release_notes.html">release notes</a></td>-->
<!--                    <td style="white-space: nowrap;">2018-07-16</td>-->
<!--                    <td style="white-space: nowrap;">-->
<!--                        <a-->
<!--                                id="apache_ignite_binary_hadoop_download"-->
<!--                                href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-hadoop-2.6.0-bin.zip"-->
<!--                                onclick="gtag('event',  'download', {'event_category': 'apache_ignite_hadoop_download', 'event_label': 'apache-ignite-2.6.0');">apache-ignite-hadoop-2.6.0-bin.zip</a>-->

<!--                        (<a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-hadoop-2.6.0-bin.zip.asc">pgp</a>,-->
<!--                        <a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-hadoop-2.6.0-bin.zip.sha512">sha512</a>)-->
<!--                    </td>-->
<!--                </tr>-->
<!--                <tr>-->
<!--                    <td style="white-space: nowrap;">2.5.0</td>-->
<!--                    <td style="white-space: nowrap;">-->
<!--                        <a href="https://apacheignite-fs.readme.io/v2.5.0/docs/hadoop-accelerator">guide</a>-->
<!--                    </td>-->
<!--                    <td style="white-space: nowrap;"><a-->
<!--                            href="https://ignite.apache.org/releases/2.5.0/release_notes.html">release notes</a></td>-->
<!--                    <td style="white-space: nowrap;">2018-05-29</td>-->
<!--                    <td style="white-space: nowrap;">-->
<!--                        <a-->
<!--                                id="apache_ignite_binary_hadoop_download"-->
<!--                                href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-hadoop-2.5.0-bin.zip"-->
<!--                                onclick="gtag('event',  'download', {'event_category': 'apache_ignite_hadoop_download', 'event_label': 'apache-ignite-2.5.0');">apache-ignite-hadoop-2.5.0-bin.zip</a>-->

<!--                        (<a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-hadoop-2.5.0-bin.zip.asc">pgp</a>,-->
<!--                        <a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-hadoop-2.5.0-bin.zip.sha512">sha512</a>)-->
<!--                    </td>-->
<!--                </tr>-->
<!--                </tbody>-->
<!--            </table>-->
<!--            <p>If you are looking for previous release versions of Apache Ignite In-Memory Hadoop Accelerator,-->
<!--                please have a look in the <a href="https://archive.apache.org/dist/ignite">archive</a>.-->
<!--            </p>-->
        </section> <!-- downloads -->

        <section id="docker" class="page-section">
            <h2>Docker and Cloud Images</h2>
            <table class="table table-bordered table-striped">
                <thead>
                <tr>
                    <th>Name</th>
                    <th>Docs</th>
                    <th>Date</th>
                    <th>URL</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td style="white-space: nowrap;">Docker Image</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/docs/docker-deployment">guide</a>
                    </td>
                    <td style="white-space: nowrap;">2020-03-03</td>
                    <td style="white-space: nowrap;">
                        <a id="docker_repo_download"
                           href="https://hub.docker.com/r/apacheignite/ignite/tags/"
                           onclick="gtag('event',  'download', {'event_category': 'docker_repo_download', 'event_label': 'docker_repo_download'});">https://hub.docker.com/r/apacheignite/ignite/tags</a>
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">Amazon Image</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/docs/aws-deployment">guide</a>
                    </td>
                    <td style="white-space: nowrap;">2018-07-16</td>
                    <td style="white-space: nowrap;">
                        <a id="aws_image_west_download"
                           href="https://console.aws.amazon.com/ec2/home?region=us-west-1#launchAmi=ami-9cdbb3fc"
                           onclick="gtag('event',  'download', {'event_category': 'aws_image_west_download', 'event_label': 'aws_image_west_download'});">https://console.aws.amazon.com/ec2/home?region=us-west-1#launchAmi=ami-9cdbb3fc</a>
                        </br>
                        <a id="aws_image_east_download"
                           href="https://console.aws.amazon.com/ec2/home?region=us-east-1#launchAmi=ami-ce82caa4"
                           onclick="gtag('event',  'download', {'event_category': 'aws_image_east_download', 'event_label': 'aws_image_east_download'});">https://console.aws.amazon.com/ec2/home?region=us-east-1#launchAmi=ami-ce82caa4</a>
                        </br>
                        <a id="aws_image_central_download"
                           href="https://console.aws.amazon.com/ec2/home?region=eu-central-1#launchAmi=ami-191b0775"
                           onclick="gtag('event',  'download', {'event_category': 'aws_image_central_download', 'event_label': 'aws_image_central_download'});">https://console.aws.amazon.com/ec2/home?region=eu-central-1#launchAmi=ami-191b0775</a>
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">Google Compute Image</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/docs/google-compute-deployment">guide</a>
                    </td>
                    <td style="white-space: nowrap;">2018-07-16</td>
                    <td style="white-space: nowrap;">
                        <a id="gce_image_download"
                           href="https://storage.googleapis.com/ignite-media/ignite-google-image.tar.gz"
                           onclick="gtag('event',  'download', {'event_category': 'gce_image_download', 'event_label': 'gce_image_download'});">ignite-google-image.tar.gz</a>

                        (<a href="https://downloads.apache.org/ignite/gce/ignite-google-image.tar.gz.asc">pgp</a>,
                        <a href="https://downloads.apache.org/ignite/gce/ignite-google-image.tar.gz.sha512">sha512</a>)

                    </td>
                </tr>
                </tbody>
            </table>
        </section><!-- cloud images -->

        <section id="verification" class="page-section"><!-- verification -->
            <h2>How to Verify</h2>
            <p>
                The PGP signatures can be verified using PGP or GPG. First download the
                <a href="https://downloads.apache.org/ignite/KEYS">Apache Ignite KEYS</a> file as well
                as the <i>.asc</i> signature files for the desired release version. Make sure you get these
                files from the main distribution directory, rather than from a mirror. Then verify the signatures.
            </p>
            <p>
                Please check <a href="https://www.apache.org/info/verification.html">How to Verify Downloaded Files</a>
                for more information on how and why you should verify Apache Ignite releases.
            </p>
            <pre class="brush:xml">
                % gpg --import KEYS
                % gpg --verify apache-ignite-2.8.1-src.zip.asc apache-ignite-2.8.1-src.zip
            </pre>
        </section><!-- verification -->

        <section id="maven" class="page-section">
            <h2>Download from Maven</h2>
            <p>
                Ignite requires only one <b>ignite-core</b> mandatory dependency. Usually you will
                also need to add <b>ignite-spring</b> for spring-based XML configuration, and <b>ignite-indexing</b> for
                SQL
                querying.
            </p>
            <p>
                Most often your Ignite pom file will look like this (replace ${ignite-version} with the latest Ignite
                version).
            </p>
            <pre class="line-numbers"><code class="language-xml">
    &lt;dependency>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;groupId>org.apache.ignite&lt;/groupId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;artifactId>ignite-core&lt;/artifactId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;version>${ignite.version}&lt;/version>
    &lt;/dependency>
    &lt;dependency>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;groupId>org.apache.ignite&lt;/groupId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;artifactId>ignite-spring&lt;/artifactId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;version>${ignite.version}&lt;/version>
    &lt;/dependency>
    &lt;dependency>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;groupId>org.apache.ignite&lt;/groupId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;artifactId>ignite-indexing&lt;/artifactId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;version>${ignite.version}&lt;/version>
    &lt;/dependency>
    </code></pre>
            <p>See <a href="http://apacheignite.readme.io/v1.0/docs/maven-setup">Maven Setup</a> for a full list of
                Maven
                dependencies.</p>
        </section><!-- maven downloads -->

        <section id="nuget" class="page-section">
            <h2>Download from NuGet</h2>
            <p>
                Ignite.NET is also distributed through NuGet.
                There are multiple packages: <a href="https://www.nuget.org/packages?q=Apache.Ignite">nuget.org/packages?q=Apache.Ignite</a>
            </p>
            <p>
                See <a href="https://apacheignite-net.readme.io/docs/getting-started-2#section-nuget">Getting
                Started</a> for more info.
            </p>
        </section><!-- NuGet downloads -->

        <section id="rpm-package" class="page-section">
            <h2>RPM Package Installation</h2>
            <p>
                Apache Ignite can also be installed from the official RPM repository:
                <a href="https://bintray.com/apache/ignite-rpm" target="_blank" rel="noopener">https://bintray.com/apache/ignite-rpm</a>
            </p>
            <p>Add the repository to Yum repositories list:</p>
            <pre class="line-numbers"><code class="language-bash">
            sudo bash -c 'cat &lt;&lt;EOF &gt; /etc/yum.repos.d/ignite.repo
            [ignite]
            name=Apache Ignite
            baseurl=https://apache.org/dist/ignite/rpm/
            gpgcheck=1
            repo_gpgcheck=1
            gpgkey=https://apache.org/dist/ignite/KEYS
            https://bintray.com/user/downloadSubjectPublicKey?username=bintray
            EOF'
            sudo yum check-update
        </code></pre>
            <p>Then install the latest Apache Ignite version (accept the ​GPG key import prompt):</p>
            <pre class="line-numbers"><code class="language-bash">
            sudo yum install apache-ignite
        </code></pre>
            <p>
                See <a href="https://apacheignite.readme.io/docs/rpm-and-deb-setup">Getting Started</a>
                for more information on how to start an Apache Ignite node and check logs.
            </p>
        </section><!-- RPM package installation -->

        <section id="deb-package" class="page-section">
            <h2>DEB Package Installation</h2>
            <p>
                Apache Ignite can also be installed from the official debian repository:
                <a href="https://bintray.com/apache/ignite-deb" target="_blank" rel="noopener">https://bintray.com/apache/ignite-deb</a>
            </p>
            <p>Add the repository to APT repositories list:</p>
            <pre class="line-numbers"><code class="language-bash">
            sudo bash -c 'cat &lt;&lt;EOF &gt; /etc/apt/sources.list.d/ignite.list
            deb http://apache.org/dist/ignite/deb/ apache-ignite main
            EOF'
            sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61
            sudo apt update
        </code></pre>
            <p>Then install the latest Apache Ignite version (accept the ​GPG key import prompt):</p>
            <pre class="line-numbers"><code class="language-bash">
            sudo apt install apache-ignite --no-install-recommends
        </code></pre>
            <p>
                See <a href="https:https://apacheignite.readme.io/docs/rpm-and-deb-setup">Getting Started</a>
                for more information on how to start an Apache Ignite node and check logs.
            </p>
        </section><!-- DEB package installation -->

        <section id="build-source" class="page-section">
            <h2>Building the Binaries </h2>
            NOTE: Ignite supports JDK 8 and JDK 11.
            <pre class="line-numbers"><code class="language-bash">
           # Unpack the source package
           $ unzip -q apache-ignite-2.8.1-src.zip
           $ cd apache-ignite-2.8.1-src

           # Build In-Memory Computing Platform release (without LGPL dependencies)
           $ mvn clean package -DskipTests

           # Build In-Memory Computing Platform release (with LGPL dependencies)
           $ mvn clean package -DskipTests -Prelease,lgpl

           # Build In-Memory Hadoop Accelerator release
           # (optionally specify version of hadoop to use)
           $ mvn clean package -DskipTests -Dignite.edition=hadoop [-Dhadoop.version=X.X.X]
        </code></pre>
        </section><!-- build-source -->

        <section id="git-repository" class="page-section">
            <h2>GIT Repository</h2>
            <pre class="line-numbers"><code class="language-bash">
           $ git clone https://gitbox.apache.org/repos/asf/ignite
        </code></pre>
        </section><!-- git-repository -->

        <section id="extensions" class="page-section">
            <h2>Extensions</h2>
            <pre class="line-numbers"><code class="language-xml">
    &lt;dependency>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;groupId>org.apache.ignite&lt;/groupId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;artifactId>ignite-spring-boot-autoconfigure-ext&lt;/artifactId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;version>1.0.0&lt;/version>
    &lt;/dependency>
    &lt;dependency>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;groupId>org.apache.ignite&lt;/groupId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;artifactId>ignite-spring-boot-thin-client-autoconfigure-ext&lt;/artifactId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;version>1.0.0&lt;/version>
    &lt;/dependency>
    </code></pre>
        </section><!-- extensions -->

        <section id="3rdparty" class="page-section">
            <h2>3<sup>rd</sup> Party Binaries</h2>

            <p>
                This is a list of 3<sup>rd</sup> party binary packages based on Apache Ignite. The Apache Ignite project
                does not endorse or maintain any 3<sup>rd</sup> party binary packages.
            </p>

            <p>
                <a href="http://www.gridgain.com/download/editions/" target="_blank" rel="noopener"><b>GridGain
                    Professional Edition</b></a>
                is a binary build of Apache Ignite created by GridGain, which includes optional LGPL
                dependencies, such as Hibernate L2 cache integration and Geospatial Indexing, as well as bug
                fixes and features which may be included into the future official Apache Ignite releases.
            </p>
            <p>
                GridGain also provides his own <a
                    href="http://www.gridgainsystems.com/nexus/content/repositories/external" target="_blank"
                    rel="noopener"><b>GridGain Maven Repository</b></a> containing Apache Ignite LGPL artifacts such as
                ignite-hibernate.</br>
                Please note that artifacts located at GridGain Maven Repository provided for convenience and are NOT
                official Apache Ignite artifacts.
            </p>

            <p>
                If you would like to provide your own edition of Apache Ignite here, please send email to
                <a href="mailto:dev@ignite.apache.org?subject=Subscribe&body=Please%20subscribe%20me.">Ignite dev
                    list</a>.
            </p>
        </section> <!-- 3rdparty -->
    </div>
</article>
<!-- END OF MAIN SITE BODY -->

<!--start include virtual="/includes/footer.html" -->
<footer id="footer" class="bg-gray-shadow">
    <div class="wrapper">
        <div class="container">
            <div class="row">
                <nav class="col-md-4">
                    <ul class="list-unstyled">
                        <li><a href="/features.html">Features</a></li>
                        <li><a href="/docs-and-apis.html">Documentation</a></li>
                        <li><a href="/community/resources.html">Ask Question</a></li>
                        <li><a href="/download.cgi">Download</a></li>
                        <li><a href="/community/contribute.html">Contribute</a></li>
                    </ul>

                    <ul class="social-networks list-unstyled">
                        <li><a href="https://www.linkedin.com/company/apache-ignite" aria-label="Linkedin"
                               class="icon-linkedin" target="_blank" rel="noopener"></a></li>
                        <li><a href="https://twitter.com/ApacheIgnite" aria-label="Twitter" class="icon-twitter"
                               target="_blank" rel="noopener"></a></li>
                        <li><a href="https://plus.google.com/109419715166167783665" aria-label="Google Plus"
                               class="icon-google-plus" target="_blank" rel="noopener"></a></li>
                        <li><a href="https://www.facebook.com/Apache-Ignite-813431118713318/" aria-label="Facebook"
                               class="icon-facebook" target="_blank" rel="noopener"></a></li>
                    </ul>
                </nav>
                <div class="col-md-8 copyright">
                    <p>&copy; 2015 - 2020 <a href="http://www.apache.org/">The Apache Software Foundation</a>.<br/>
                        Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered
                        trademarks
                        or trademarks of The Apache Software Foundation. <br/><a
                                href="http://apache.org/foundation/policies/privacy.html" target="_blank">Privacy
                            Policy</a></p>

                    <div class="footer-logos">
                        <a class="ignite" href="#wrapper"><img src="/images/ignite_logo_full.svg"
                                                               alt="Apache Ignite Logo"></a>
                        <a class="apache" href="https://donate.apache.org/"><img src="/images/support-apache-opt.png"
                                                                                 alt="Apache Software Foundation"/></a>
                    </div>


                </div>
            </div>
        </div>
    </div>
</footer>


<!-- end of include "/includes/footer.html" -->

<!-- include of "/includes/scripts.html" -->
<link rel="stylesheet" href="/css/ignite-redesign.css?20200622" media="print" onload="this.media='all'">
<noscript><link media="all" rel="stylesheet" href="/css/ignite-redesign.css?20200622"></noscript>


<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css" integrity="sha384-Bfad6CLCknfcloXFOyFnlgtENryhrpZCe29RTifKEixXQZ38WheV+i/6YWSzkz3V" crossorigin="anonymous" media="screen">

<!-- load google fonts async -->
<script type="text/javascript">
    WebFontConfig = {
        google: {families: ['Open+Sans:300,400,600,700&display=swap']}
    };
    (function () {
        var wf = document.createElement('script');
        wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
        wf.type = 'text/javascript';
        wf.async = 'true';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(wf, s);
    })(); </script>


<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
        integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
        crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
        integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
        crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
        integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
        crossorigin="anonymous"></script>

        <script src="/js/prism.js" ></script>


<script type="text/javascript">
    if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
        var msViewportStyle = document.createElement('style');
        msViewportStyle.appendChild(
            document.createTextNode(
                '@-ms-viewport{width:auto!important}'
            )
        );
        document.querySelector('head').appendChild(msViewportStyle)
    }

</script>


<!-- include of "/includes/scripts.html" -->

<!-- Github stats-->
<script async defer src="https://buttons.github.io/buttons.js"></script>

<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<!-- end of include "/includes/scripts.html" -->


<!-- Table export -->
<script type="text/javascript"
        src="https://cdn.rawgit.com/hhurz/tableExport.jquery.plugin/master/libs/FileSaver/FileSaver.min.js"></script>
<script type="text/javascript"
        src="https://cdn.rawgit.com/hhurz/tableExport.jquery.plugin/master/libs/jsPDF/jspdf.min.js"></script>
<script type="text/javascript" src="/js/jspdf.plugin.autotable.js"></script>
<script type="text/javascript" src="/js/tableExport.min.js"></script>

<script type="text/javascript">
    $(document).ready(function () {
        var expBtnDesc = [
            {cfg: {type: 'json'}, text: 'JSON', icon: 'ico-json.png?20191126'},
            {cfg: {type: 'xml'}, text: 'XML', icon: 'ico-xml.png?20191126'},
            {cfg: {type: 'csv'}, text: 'CSV', icon: 'ico-csv.png?20191126'},
            {cfg: {type: 'excel'}, text: 'XLS', icon: 'ico-xls.png?20191126'},
            {
                cfg: {
                    type: 'pdf',
                    jspdf: {
                        autotable: {
                            styles: {
                                overflow: 'linebreak',
                                fontSize: 14,
                                rowHeight: 19,
                                valign: 'top'
                            },
                            headerStyles: {
                                rowHeight: 20,
                                fontSize: 16,
                                fillColor: 207,
                                textColor: 0,
                                valign: 'middle'
                            },
                            bodyStyles: {
                                fillColor: 245
                            },
                            alternateRowStyles: {
                                fillColor: 255,
                                valign: 'middle'
                            }
                        }
                    }
                },
                text: 'PDF',
                icon: 'ico-pdf.png?20191126'
            }
        ];

        $("table").each(function (ix, tbl) {
            var insert = '' +
                '<div class="btn-group btn-group-export" title="Export table content to selected format">\n' +
                '    <button class="btn btn-default btn-export btn-sm dropdown-toggle fa fa-download" data-toggle="dropdown"></button>\n' +
                '    <ul class="dropdown-menu dropdown-menu-right table-export-options" role="menu">\n';

            var id = this.id || 'table' + ix;

            this.id = id;

            $.each(expBtnDesc, function (ix, btn) {
                btn.cfg.fileName = $(tbl).attr('name');

                insert += "        <li><a href='#' onclick='$(\"#" + id + "\").tableExport(" + JSON.stringify(btn.cfg) + ");'>" +
                    "<img src='/images/" + btn.icon + "' width='24px'/> " + btn.text +
                    "</a></li>\n";


            });

            insert += '    </ul>\n' +
                '</div>\n';

            $(this).find('thead > tr > th:last-child').append(insert);
        });

        $("table#mc").find("button").hide();
    });
</script>
</body>
</html>
