Ignite 之计算运用的 Hello world

Ignite是:
1.一个以内存为中心的数据平台
2.可持久化、强一致和高可用
3.强大的SQL、键-值存储及相关的API

安装

环境准备

Apache Ignite官方在如下环境中进行的测试:

  • JDK:Oracle JDK7及以上,Open JDK7及以上,IBM JDK7及以上
  • OS:Linux(任何版本),Mac OS X(10.6及以上),Windows(XP及以上),Windows Server(2008及以上),Oracle Solaris,本文以win10为例
  • 网络:没有限制(建议10G)
  • 架构:x86,x64,SPARC,PowerPC

下载安装

进入官网下载Apache Ignite的zip压缩包,将zip压缩包解压到系统安装文件夹,设置IGNITE_HOME环境变量指向安装文件夹(这一步是可选项,但建议操作)。

命名行启动

D:\apache-ignite-fabric-2.3.0-bin\bin>ignite.bat
命令行启动界面.png

创建集群

再打开一个终端窗口,还是输入上次的命令:

D:\apache-ignite-fabric-2.3.0-bin\bin>ignite.bat
add a server.png

再看之前打开的终端,也会动态扩展显示整个集群的信息,如下图:


Terminal 1 : add a server.png

Ignite具有非常先进的集群能力,包括逻辑集群组和自动发现。
Ignite节点之间会自动发现对方,这有助于必要时扩展集群,而不需要重启整个集群。

Java 实现Ignite的 hello world

主要的maven依赖:

       <dependency>
            <groupId>org.apache.ignite</groupId>
            <artifactId>ignite-core</artifactId>
            <version>${ignite.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ignite</groupId>
            <artifactId>ignite-spring</artifactId>
            <version>${ignite.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ignite</groupId>
            <artifactId>ignite-indexing</artifactId>
            <version>${ignite.version}</version>
        </dependency>

         <properties>
             <ignite.version>2.3.0</ignite.version>
         </properties>

主要逻辑代码

package com.jc.searchengine;

import com.jc.searchengine.po.Person;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteException;
import org.apache.ignite.Ignition;

/**
 * @Author: wangjie
 * @Description: put data and get data
 * @Date: Created in 13:38 2018/3/22
 */
public class HelloWorld
{
    public static void main(String[] args) throws IgniteException {
        try (Ignite ignite = Ignition.start("D:\\apache-ignite-fabric-2.3.0-bin\\examples\\config\\example-cache.xml")) {
            // Put values in cache.
            IgniteCache<Integer, Person> cache = ignite.getOrCreateCache("myCache");

            cache.put(1, new Person(1,"Hello",1));
            cache.put(2, new Person(2,"World!",2));

            // Get values from cache and broadcast 'Hello World' on all the nodes in the cluster.
            ignite.compute().broadcast(() -> {
                Person s1 = cache.get(1);
                Person s2 = cache.get(2);

                System.out.println(s1.toString() + " " + s2.toString());
            });
        }
    }
}

控制台输出

运行上诉代码,控制台如下输出:


the log of console.png

工程的github地址

程序媛小白一枚,如有错误,烦请批评指正!(#.#)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景: 阅读新闻 12C CDB模式下RMAN备份与恢复 [日期:2016-11-29] 来源:Linux社区 作...
    阳屯okyepd阅读 3,642评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,147评论 19 139
  • 一 日头又要下山了,将来往的车辆和行人抹上一层柔和的桔红色,斜对面的富豪大酒店门前依然宝马香车,各色彩旗在猎猎风中...
    别山举水阅读 1,791评论 17 42
  • 《是谁》 是谁 掀开夜的帷幕 又是谁 点亮了路边的霓虹灯 是谁 悄悄说着梦想 又是谁 在这条追梦的路途上 是谁 给...
    邱宇辉阅读 498评论 2 0
  • 十七的下玄月悠悠挂在山头 我抬头望着满天繁星 说好久不曾看到这样的星辰 让我想起小时候躺在地上 遥看满天星的日子 ...
    栗子颜阅读 602评论 0 4