Ignite

Apache Ignite是一个高性能、分布式的内存计算平台,提供内存数据网格、SQL、键值存储等功能,强调强一致性和高可用性。适用于大数据实时分析和处理,支持多环境部署,包括本地、云和混合环境。Ignite可以作为分布式SQL数据库使用,提供内存和磁盘存储的结合,具备持久化能力,且与其他内存计算技术如Hazelcast、Gemfire、Redis等有明显区别。其安装配置简单,可通过命令行或Maven获取。尽管在国内文档较少,但其在内存计算领域的优势和潜力值得进一步探索。
摘要由CSDN通过智能技术生成

什么是Ignite

Apache Ignite内存数组组织框架是一个高性能、集成和分布式的内存计算和事务平台,用于大规模的数据集处理,比传统的基于磁盘或闪存的技术具有更高的性能,同时它还为应用和不同的数据源之间提供高性能、分布式内存中数据组织管理的功能。

Ignite具有以下特点:

一个以内存为中心的数据平台

Apache Ignite是一个高性能、分布式的内存计算平台,在用户应用层与数据层无缝插入,Apache Ignite改变了传统的磁盘存储方式,从基于磁盘的存储层把数据加载到内存.

强一致性

在任意时刻,所有节点中的数据是一样的。同一时间点,在节点A中获取到key1的值与在节点B中获取到key1的值应该都是一样的。

高可用

使用软件或硬件技术实现存储的高度可用性。其主要技术指标是存储切换功能,数据复制功能,数据快照功能等。当一台存储出现故障时,另一台备用的存储可以快速切换,达到存储不停机的目的。

强大的SQL、键-值以及相关处理的API

完整的SQL支持

Ignite提供了完整的SQL、DDL和DML的支持,可以使用纯SQL而不用写代码与Ignite进行交互,这意味着只使用SQL就可以创建表和索引,以及插入、更新和查询数据。有这个完整的SQL支持,Ignite就可以作为一种分布式SQL数据库。

键-值

Ignite的内存数据网格组件是一个完整的事务型分布式键值存储,它可以在有几百台服务器的集群上进行水平扩展。再打开持久化时,Ignite可以存储比内存容量更大的数据,并且在整个集群重启之后仍然可用。

   

Ignite的适用场景(部署环境)

适用场景

从官网的上的图可以看出ignite有数据网格,计算网格,服务网格,SQL网格,数据结构,流计算,文件系统,高级集群等模块,都是放在内存操作,主要追求的是能快速分析处理数据,实时内存应用。

数据量越大操作起来越费劲越费时,只适合事后慢慢分析,从spark开始内存计算就是为了解决太费时问题,Apache Beam也延续了这种趋势,Ignite主要内存功能强大,更方便适用,用内存来聚合数据源,处理数据。

因此,当数据量越来越大的时候甚至超越PB级时,就体现出Ignite的优越性。

Ignite的安装与配置

准备

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

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

安装

下面是安装Apache Ignite的简要步骤:

  • https://ignite.apache.org/下载Apache Ignite的zip压缩包
  • 将zip压缩包解压到系统安装文件夹
  • 设置IGNITE_HOME环境变量指向安装文件夹,确保没有/结尾(这一步可选)

从源代码构建 
如果你下载的是源代码包,可以用如下命令构建:

1.  # Unpack the source package

2.  $ unzip -q apache-ignite-{ version}-src.zip

3.  $ cd apache-ignite-{ version}-src

4.   

5.  # Build In-Memory Data Fabric release(without LGPL dependencies)

6.  $ mvn clean package-DskipTests

7.   

8.  # Build In-Memory Data Fabric release (withLGPL dependencies)

9.  $ mvn clean package-DskipTests-Prelease,lgpl

10. 

11.# Build In-Memory Hadoop Accelerator release

12.# (optionally specify version of hadoop touse)

13.$ mvn clean package-DskipTests-Dignite.edition=hadoop [-Dhadoop.version=X.X.X]

从命令行启动

一个Ignite节点可以从命令行通过默认的配置或者传入外部配置文件的方式启动。可以启动很多很多的节点然后他们会自动地发现对方。 
通过默认配置 
    要启动一个基于默认配置的网格节点,打开命令行然后切换到IGNITE_HOME(安装文件夹),然后输入如下命令: 
Linux:

1.  $ bin/ignite.sh

Windows:

1.  $ bin/ignite.bat

然后会看到输出大体是如下的样子:

1.  [02:49:12]Ignite node started OK (id=ab5d18a6)

2.  [02:49:12]Topology snapshot [ver=1, nodes=1,CPUs=8, heap=1.0GB]

ignite.sh启动ignite节点会使用默认的配置文件:config/default-config.xml 
传递配置文件 
要从命令行显式地传递一个配置文件,只需要在安装文件夹路径下输入ignite.sh <配置文件路径>,比如: 
Linux

1.  $ bin/ignite.shexamples/config/example-cache.xml

Windows

1.  $ bin/ignite.batexamples/config/example-cache.xml

配置文件的路径既可以是绝对路径,也可以是相对于IGNITE_HOME的相对路径,也可以是相对于类路径的META-INF文件夹。

交互式模式 
要在一个交互模式传递配置文件,可以加上-i参数,像这样:ignite.sh -i。

从Maven获得

在项目里使用Apache Ignite的另一个方式是使用Maven2依赖管理。 
Ignite只需要一个ignite-core强依赖,通常还需要添加ignite-spring,来做基于spring的XML配置,还有ignite-indexing,来做SQL查询。 
确保将${ignite-version}替换为实际的版本号。

1.  <dependency>

2.  <groupId>org.apache.ignite</groupId>

3.  <artifactId>ignite-core</artifactId>

4.  <version>${ignite.version}</version>

5.  </dependency>

6.  <dependency>

7.  <groupId>org.apache.ignite</groupId>

8.  <artifactId>ignite-spring</artifactId>

9.  <version>${ignite.version}</version>

10.</dependency>

11.<dependency>

12.<groupId>org.apache.ignite</groupId>

13.<artifactId>ignite-indexing</artifactI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值