Apache Ignite 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Apache Ignite 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Apache Ignite 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Apache Ignite 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Apache Ignite 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织 Apache
地区 不详
提 交 者 红薯
适用人群 未知
收录时间 2015-01-10

软件简介

1.Ignite是什么?

Apache Ignite是一个支持水平扩展和容错的分布式内存计算平台,面向数据密集型应用,可以在TB级的数据上以内存级的速度构建实时应用。

1.1.Ignite定位

Ignite是不是内存数据库? 

,虽然Ignite的固化内存在内存和磁盘中都工作得很好,但是磁盘持久化可以禁用从而成为一个纯粹的内存数据库,支持SQL和分布式关联。 

Ignite是不是内存数据网格(IMDG)?

,Ignite是一个全功能的分布式键-值数据网格,它既可以用于纯内存模式,也可以带有Ignite的原生持久化,它也可以与任何第三方数据库集成,包括RDBMS和NoSQL。 
Ignite是不是一个分布式缓存? 

,如果禁用原生持久化,Ignite就是一个分布式缓存,它实现了JCache规范(JSR107),并且提供了比规范更多的功能,包括分区和复制分布式模式、分布式ACID事务、SQL查询、原生持久化等等。 

Ignite是不是分布式数据库? 

,在整个集群的多个节点中,Ignite中的数据要么是分区模式的,要么是复制模式的,这给系统带来了伸缩性,增加了弹性。Ignite可以自动地控制数据如何分区,另外,开发者也可以插入自定义(关系)函数,以及为了提高效率将部分数据并置在一起。 

Ignite是不是关系型SQL数据库? 

不完整,尽管Ignite的目标是和其他的关系型SQL数据库具有类似的行为,但是在处理约束和索引方面还是有不同的。Ignite支持一级和二级索引,但是只有一级索引支持唯一性,Ignite还不支持外键约束。 

Ignite是不是磁盘或者只有内存的存储? 

都是,Ignite中的原生持久化是可以开关的,这使得Ignite可以持有比可用内存量大得多的数据。尤其是,少量的操作型数据集可以只保存在内存中,而更大的无法放在内存中的数据集,可以放在磁盘上,将内存作为一个缓存层,可以获得更好的性能。 

Ignite是不是一个NoSQL数据库? 

不确切,和其他的NoSQL数据库一样,Ignite支持高可用和水平伸缩,但是,和其它的NoSQL数据库不同,Ignite支持跨越整个集群的ACID事务和SQL。 

Ignite是不是事务型数据库? 

不完整,ACID事务是支持的,但是仅仅在键-值API级别,Ignite还支持跨分区的事务,这意味着事务可以跨越不同服务器不同分区中的键。 

在SQL层,Ignite支持原子性,还不是事务型一致性,社区计划在未来的版本中实现SQL事务。 

Ignite是不是一个多模型数据库? 

,Ignite数据的建模和访问,同时支持键值和SQL,另外,Ignite还为在分布式数据上的计算处理,提供了强大的API。 

Ignite是不是一个键-值存储? 

,Ignite提供了丰富的键-值API,兼容于JCache (JSR-107),并且支持Java,C++和.NET。

2.关键特性

2.1.分布式内存级SQL数据库


Ignite带来了一个兼容于ANSI-99、支持水平扩展和容错的分布式SQL数据库,根据需要,分布模式既可以是跨整个集群的分区模式,也可以是全复制模式。 

和其它的分布式SQL数据库不同,Ignite的持久化存储将内存和磁盘都视为有效的存储层,磁盘层,即原生持久化存储,默认是禁用的,这时Ignite就是一个纯粹的内存数据库(IMjDB)。 

和其他的SQL存储一样,也可以使用JDBC或者ODBC与Ignite进行交互,Ignite还为Java、.NET和C++开发者提供了原生的SQL API,并且性能更好。 

Ignite的一个显著优势是,完全支持分布式SQL关联,Ignite的数据关联支持并置模式和非并置模式。如果是并置模式,关联是在每个节点的本地可用数据集上执行,而不需要在网络间移动大量的数据,在分布式数据库中,这样的方式提供了最好的扩展性和性能。 

除了标准的SQL,Ignite还提供了强大的处理API。

  • 键值API:Ignite的键值API可以使用户以键值存储的方式与Ignite交互,除了JCache规范(JSR107)支持的标准键值操作,Ignite还提供了分布式ACID事务、持续查询、扫描查询这样的扩展支持;

  • 并置处理:这个方式允许直接在数据所在的节点直接执行分布式SQL关联或者自定义业务逻辑,避免了昂贵的序列化和网络开销。

2.2.键-值内存数据网格

Ignite提供了广泛的键-值API,可以作为一个内存数据网格,可以将Ignite视为一个分布式分区化的哈希映射,每个节点持有整个数据集的一部分,和其他的内存数据网格(IMDG)不同,Ignite可以同时将数据保存在内存和磁盘上,因此也就可以存储比可用物理内存多得多的数据。 
目前,Ignite数据网格是分布式架构支持ACID事务或者原子化数据更新最快的实现之一。 

第三方数据库 

通过在应用和数据库层之间嵌入一个分布式缓存,Ignite会改进已有第三方数据库的性能和可扩展性,比如RDBMS、NoSQL或者基于Hadoop的存储,这种做法不需要对已有的数据进行替换,通过通读和通写,会保持与底层数据库的同步,Ignite会自动地与底层数据库事务进行合并,向用户透明地提供事务保证。 

但是,这种方法也有限制,比如,SQL和扫描查询只能处理保存在缓存中的数据,不包括外部数据库,因为Ignite无法索引外部数据,如果希望磁盘上的数据也应该被索引到并且可以通过SQL访问,建议使用Ignite的原生持久化。 

JCache API 
Ignite的键-值API符合JCache规范(JSR107),支持如下功能:

  • 内存键值存储;

  • 基本的缓存操作;

  • ConcurrentMap API;

  • 并置处理(EntryProcessor);

  • 事件和指标;

  • 可插拔的持久化。

扩展键-值API 
除了标准的JCache API,Ignite还支持分布式的ACID事务、持续查询、并置处理等等。 
Ignite数据网格甚至可以线性地增长到几百个节点,它通过强语义的数据位置和关系数据路由,来降低冗余数据噪声。它可以被视为一个分布式分区化的哈希映射,每个节点可以持有整个数据集的一部分,这意味着节点越多,缓存的数据也可以越多。

2.3.ACID事务

 Ignite是一个强一致的平台,完全支持分布式ACID事务,内存和磁盘层,都提供一样的一致性保证。 

Ignite的事务,可以跨越多个节点,多个缓存(或者说表)以及多个分区。对于应用来说,乐观锁和悲观锁都是可用的,乐观模式还支持无死锁事务,可以在业务代码层面避免分布式死锁。 

二阶段提交协议 
在分布式系统中,事务可能跨越多个节点,显然,要保证所有参与节点的数据一致性是一个很大的挑战。比如,如果一个节点故障,故障节点的事务就不能完整提交,在这类场景中,要保证数据一致性,一个广泛使用的方法是二阶段提交协议(2PC)。 

Ignite带来了二阶段提交协议的最快实现,另外,如果事务只涉及一个分区或者一个节点,Ignite会使用一个更快的一阶段提交协议。在一个事务中,如果数据发生了变化,那么在变化提交之前,Ignite会在本地事务映射中保存一个事务的状态,提交时,数据会被发送到相关的远程节点,其中只有持有相关数据主副本的节点,才会参与事务。 

一致性和Ignite持久化 
如果使用了Ignite的原生持久化,那么所有的更新都会写入预写日志(WAL)文件中来保证一致性,即使事务执行期间集群或者某个节点故障,也没有问题。 
WAL的目的是,以附加模式将更新传播到磁盘,这是将数据持久化到磁盘的最快方式,如果集群或者某个节点故障,WAL提供了一个故障场景的恢复机制,集群总是可以恢复到最近成功提交的事务状态。 

一致性和第三方持久化 
如果Ignite作为缓存层运行于第三方数据库之上,比如RDBMS,Ignite仍然会保证缓存数据和外部数据的事务一致性。比如,如果RDBMS作为持久化层,Ignite会在将提交消息发给相关的集群节点之前,将事务写入数据库,这样的话,如果在数据库层发生事务故障,Ignite仍然会将回滚消息发给所有的相关节点,从而保持两者之间的数据一致性。

2.4.并置处理

基于磁盘的系统,比如RDBMS以及NoSQL,通常使用传统的C/S模式,这时数据是要从服务端传输到客户端的,在客户端进行处理,然后可能被丢弃。这个方法无法扩展,因为在分布式系统中通过网络移动大量数据是非常昂贵的操作。 

一个扩展性更好的方法是并置处理,它会反过来将计算带到数据实际驻留的服务端节点,它会在数据实际存储的地方执行高级的业务逻辑或者分布式SQL,甚至关联,避免了昂贵的序列化和网络开销。

2.5.机器学习

Ignite的机器学习(ML)是一套简单、可扩展以及高效的工具,可以构建可预测的机器学习模型,而不需要昂贵的数据传输。 

将机器和深度学习加入Ignite的原理是很简单的,当前,如果要想让机器学习成为主流,数据科学家要解决两个主要的问题: 

问题#1:常规数据迁移(ETL) 
首先,模型是在不同的系统中训练和部署(训练结束之后)的,数据科学家需要等待ETL或者其他的数据传输过程,来将数据移至比如Apache Mahout或者Apache Spark这样的系统进行训练,然后还要等待这个过程结束并且将模型部署到生产环境。在系统间移动TB级的数据可能花费数小时的时间,此外,训练部分通常发生在旧的数据集上。 

问题#2:水平扩展能力缺乏 
第二个问题和扩展性有关。机器学习和深度学习需要处理的数据量不断增长,已经无法放在单一的服务器上。这促使数据科学家要么提出更复杂的解决方案,要么切换到比如Spark或者TensorFlow这样的分布式计算平台上。但是这些平台通常只能解决模型训练的一部分问题,这给开发者之后的生产部署带来了很多的困难。 

无ETL和大规模扩展性 
Ignite的机器学习依赖于Ignite基于内存的存储,这给机器学习和深度学习任务带来了大规模的扩展性,并且取消了在不同系统间进行ETL产生的等待。比如,在Ignite集群的内存和磁盘中存储的数据上,开发者可以直接进行深度学习和机器学习的训练和推理,然后,Ignite提供了一系列的机器学习和深度学习算法,对Ignite的分布式并置处理进行优化,这样在处理大规模的数据集或者不断增长的输入数据流时,这样的实现提供了内存级的速度和近乎无限的扩展性,而不需要将数据移到另外的存储。通过消除数据的移动以及长时间的处理等待,Ignite的机器学习可以持续地进行学习,可以在最新数据到来之时实时地对决策进行改进。 

容错和持续学习 
Ignite的机器学习能够对节点的故障容错。这意味着如果在学习期间节点出现故障,所有的恢复过程对用户是透明的,学习过程不会被中断,就像所有节点都正常那样获得结果。 

2.6.多语言支持

Ignite是以Java语言为主进行开发的,因此可以在JVM支持的任何操作系统和架构上部署和运行,比如,Ignite可以部署在Linux、Windows、MacOS、Oracle Solaris等操作系统上,支持x86、x64、SPARC、PowerPC指令集架构。 
Java的API支持Ignite的所有功能,使用Java或者Scala开发的应用,相关的逻辑可以直接嵌入Ignite,然后借助于SQL以及键-值操作与集群进行交互,执行分布式计算和机器学习算法等等。 

除了Java,Ignite还支持.NET平台,Ignite.NET和Ignite C++使用JNI,会把大部分的调用转发给Java,这里需要注意的是,JNI的负载非常小,不会导致性能的下降,尤其是在分布式环境,整体的应用性能中网络是主要的开销。 

使用标准的JDBC或者ODBC连接,可以像其他的SQL存储一样与Ignite进行交互。Ignite还为Java、.NET和C++开发者提供原生的SQL API,性能更好。 

要使用其他的语言访问Ignite,比如Python、Ruby、PHP或者NodeJS,可以考虑使用Ignite的二进制客户端协议,JDBC或者ODBC驱动,或者文档中提到的其他客户端协议。

3.扩展特性

3.1.服务网格

 
服务网格可以在集群中任意部署自定义的服务,可以实现和部署任意服务,比如自定义计数器,ID生成器,分级映射等。

服务网格的主要应用场景是提供了在集群中部署各种单例服务的能力。但是,如果需要一个服务的多实例,Ignite也能保证所有服务实例的正确部署和容错。

3.2.数据注入和流计算


Ignite流式计算允许以可扩展和容错的方式处理连续不中断的数据流。在一个中等规模的集群中,数据注入Ignite的比例会很高,很容易达到每秒百万级的规模。 

Ignite可以与主要的流处理技术和框架进行集成,比如Kafka、Camel、Storm或者JMS,他们可以为基于Ignite的架构带来非常强大的功能。 

数据加载 
Ignite提供了若干种技术来对数据进行预加载,比如,开启原生持久化后,Ignite的流处理API就是一个好的选择,如果使用第三方存储,那么使用CacheStoreAPI可以直接接入。 

工作方式:

  1. 客户端将流式数据注入Ignite;

  2. 数据在Ignite数据节点中自动分区;

  3. 数据在滑动窗口中并发处理;

  4. 客户端在流式数据中执行并发SQL查询

  5. 客户端订阅数据变化的持续查询

3.3.RDBMS集成


Ignite支持与各种持久化存储进行集成,它可以接入数据库、导入模式、配置索引类型、以及自动化地生成所有必要的XML OR映射配置和Java领域模型POJO,他们可以很容易地导入自己的开发工程。 

Ignite可以与任何支持JDBC驱动的关系型数据库(RDBMS)进行集成,包括Oracle, PostgreSQL, Microsoft SQL Server, 和MySQL。 

RDBMS集成向导 
通过Web控制台,Ignite支持自动化的RDBMS集成,它是一个交互式的配置向导、管理和监控工具,功能包括:

  • 创建和下载各种集群的配置文件;

  • 从任何RDBMS模式中自动化地构建Ignite的SQL元数据;

  • 在内存缓存中执行SQL查询;

  • 查看查询的执行计划、内存模式和流化图表。

这个Web控制台是一个创新的工具,它提供了丰富的功能来管理集群,并不限于上述提到的这些功能。

3.4.分布式数据结构

Ignite以分布式的形式支持基于java.util.concurrent框架的大部分数据结构。比如,可以在一个节点上使用java.util.concurrent.BlockingQeque加入一些东西,然后再另一个节点上获取它。或者有一个分布式的ID生成器,他可以保证所有节点上的ID唯一性。 
支持的数据结构包括:

  • Concurrent Map (Cache)

  • 分布式队列和集合

  • AtomicLong

  • AtomicReference

  • AtomicSequence (ID生成器)

  • CountDownLatch

  • ExecutorService

3.5.消息和事件

Ignite提供了集群范围的高性能的消息功能,支持基于发布-订阅以及直接点对点通信模型的数据交换。消息可以以有序的,也可以以无序的方式进行交换。有序消息会稍微有点慢,但是如果使用的话,Ignite会保证收到消息的顺序和发送消息的顺序一致。 

当在分布式网格环境中发生各种事件时,Ignite的分布式事件功能可以使应用收到通知。可以自动地收到集群内的本地和远程节点上发生的任务执行、读写和查询操作的通知,事件通知也可以分组在一起然后分批或者定期地发送。

4.架构

4.1.集群和部署

 
Ignite集群基于无共享架构,所有的集群节点都是平等的,独立的,整个集群不存在单点故障。 
通过灵活的Discovery SPI组件,Ignite节点可以自动地发现对方,因此只要需要,可以轻易地对集群进行缩放。 

Ignite可以独立运行,可以组成集群,可以运行于Kubernetes和Docker容器中,也可以运行在Apache Mesos以及Hadoop Yarn上,可以运行于虚拟机和云环境,也可以运行于物理机,从技术上来说,集群部署在哪里,是没有限制的。 

服务端、客户端和协议 
Ignite中定义有两种类型的节点,客户端和服务端节点,分别有不同的用途。 
服务端节点作为数据和计算的容器,一旦接入,Ignite就会作为分布式数据库(或者叫数据网格)存储数据,然后参与查询的处理、计算的执行、数据流处理等等。 
而对于客户端节点,提供了远程接入分布式数据库(一组服务端节点)的功能,Ignite的原生客户端可以使用完整的Ignite API,包括SQL、事务、计算、数据流、服务等等。 
除了客户端节点,还可以通过Ignite的二进制客户端协议、JDBC/ODBC驱动、REST API接入集群。 

公有云
对于公共云环境,Ignite原生集成了Amazon AWS以及Google Compute Engine,对于其他的云环境,Ignite集成了JCloud,它支持了大部分的已有云服务商。 

容器 
Ignite完全支持容器环境,Ignite与Docker的集成可以在服务启动之前,自动地将业务代码构建并且部署进Ignite。 

Ignite也可以部署在Kubernetes中,可以自动地部署和管理容器化的应用。 

资源管理器 
Ignite提供了对Hadoop YarnKubernetesApache Mesos的原生支持,可以很容易地部署到这些环境。

4.2.基于内存的存储

Ignite基于分布式的内存架构,它将内存计算的性能和扩展性,与磁盘持久化和强一致性整合到一个系统中。 

基于内存的方式和传统的基于磁盘的方式的主要不同是,Ignite将内存视为全功能的存储,而不是像传统大多数数据库那样仅仅是一个缓存层。比如,Ignite可以运行于纯内存模式,这时它就是一个内存数据库(IMDB)和内存数据网格(IMDG)。 

另一方面,如果打开了持久化,Ignite就变成了一个处理是在内存中进行的基于内存的系统,但是数据和索引又持久化到磁盘上。这里与传统的基于磁盘的RDBMS或NoSQL系统的主要区别是,Ignite支持强一致、水平扩展、并且同时支持SQL和键-值处理API。 

并置和C/S处理 
基于磁盘的系统,比如RDBMS或者NoSQL,通常采用传统的C/S模式,数据需要从服务端传输到要处理的客户端,通常最终又被废弃,这种方法不可扩展,因为在分布式系统中,通过网络移动大量数据是非常昂贵的开销。 

一个更有扩展性的方式是,通过将计算放在数据实际存储的服务端上,反过来实现并置处理,这个方法可以直接在数据实际存放的地方直接执行业务逻辑或者分布式SQL关联,避免了昂贵的序列化和网络开销。 

分区和复制 
根据配置,Ignite在内存存储中,可以是分区模式,也可以是复制模式,复制模式中,数据在集群中的每个节点都有一份副本,而分区模式,Ignite会在多个集群节点上对数据进行平均拆分,因此可以在内存及磁盘上存储TB级的数据。 

冗余 
Ignite可以配置多个副本,来保证故障时的数据弹性。 

一致性 
不管使用哪种复制方案,Ignite都会保证整个集群的数据一致性。 

Ignite作为内存存储 
持久化对Ignite来说是可选的,这时整个集群就会工作于纯内存模式,所有的数据和索引都会只存储于内存中,这样会得到最高的性能,因为数据不需要写入磁盘。为了避免可能的节点故障导致数据丢失,建议适当地配置一些备份(或者叫复制因子)。 

Ignite持久化 
可以有两种方式开启持久化,第一个方式是,使用它自己的分布式、ACID以及兼容SQL的持久化,这可以透明地与所有的内存架构透明且高效地集成。 

如果开启了原生持久化,Ignite会在磁盘上存储数据的超集,然后在内存中存储尽可能多的数据。比如,一共有100条数据,内存有能力存储20条,那么磁盘会存储所有的100条,而为了高性能,内存可以只缓存20条。 

Ignite与第三方数据库 
第二个开启持久化的方式,是将Ignite部署在已有的第三方数据库之上,比如RDBMS、Apache Cassandra或者MongoDB。这种方式通过将部分数据的副本放在内存中,用于对底层数据库进行加速。Ignite支持通读和通写模式,确保数据一致性以及两者之间的同步。

4.3.固化内存

Ignite基于固化内存架构,如果开启了原生持久化,可以同时处理存储于内存和磁盘上的数据和索引。 

固化内存架构,它将内存计算的性能和扩展性,与磁盘持久化和强一致性整合到一个系统中。 
Ignite固化内存的操作方式,类似于比如Linux这样的操作系统的虚拟内存。但是两者的显著区别是,如果开启了持久化存储,除了将整个或者部分数据保存在内存中,还会将整个数据集加上索引放在磁盘上,而虚拟内存只是在内存用尽时才使用磁盘,磁盘只是用于交换用途。 

Ignite原生持久化 
Ignite原生持久化是数据持久化的一个非常灵活、可扩展以及方便的方式,它广泛应用于应用需要一个分布式内存数据库的场景中。 

Ignite的原生持久化是一个分布式的、ACID、兼容SQL的磁盘存储,它可以与Ignite的固化内存无缝地集成,Ignite原生持久化是可选的,可以打开和关闭,如果关闭,Ignite就是一个纯内存存储。 

下面是Ignite作为一个平台,如果固化内存和原生持久化同时使用的优势和特点: 
内存

  • 堆外内存

  • 避免明显的GC暂停

  • 自动碎片整理

  • 可预测的内存消耗

  • 高SQL性能

磁盘

  • 可选的持久化

  • 支持闪存、SSD以及Intel的3D Xpoint

  • 存储数据的超集

  • 全事务化(预写日志WAL)

  • 集群瞬时启动

第三方持久化 
Ignite可以用于已有第三方数据库的缓存层,包括RDBMS、NoSQL或者HDFS。该方式用于对保存数据的底层数据库进行加速,Ignite将数据保存在内存中,在多个节点中进行分布,提供了更快的数据访问,它减少了应用和数据库之间因为数据移动导致的网络负载。但是与原生持久化相比,是有很多限制的,比如,SQL查询只能在内存中保存的数据上执行,因此,首先需要将数据预先从磁盘加载到内存中。 

交换空间 
如果不希望使用原生持久化或者第三方持久化,还可以开启交换,这时,如果内存过载,内存中的数据会被移动到磁盘上的交换空间中,如果开启了交换空间,Ignite将数据存储于内存映射文件(MMF)中,根据当前的内存使用量,操作系统会将MMF的内容交换到磁盘。交换空间通常用于避免由于内存过载导致的内存溢出错误(OOME),以及需要更多时间来对集群进行缩放,从而对数据集进行更平均的分布的场景。

5.数据可视化

Ignite可以与很多数据可视化工具集成,通过图表或者丰富的图形,协助对存储在分布式缓存中的数据进行分析和解释,甚至提供可操作的建议。 
IgniteWeb控制台 

Ignite的Web控制台是一个基于Web的交互式管理工具, 功能包括:

  • 创建、下载Ignite的各种配置;

  • 从RDBMS中自动加载SQL元数据;

  • 接入Ignite集群然后执行SQL;

  • 管理和监控Ignite节点和缓存;

  • 查看堆、CPU以及其它有用的节点和缓存的指标;

Tableau 

Tableau是一个聚焦于商业智能的交互式数据可视化工具,通过Ignite的ODBC驱动,Tableau就可以接入Ignite集群,功能包括:

  • 查询集群中存储的分布式数据;

  • 缓存数据的表格或者图形展示;

  • 使用Tableau支持的各种方式对数据进行分析;

Zeppelin 

Apache Zeppelin是一个基于Web的记事本,可以交互式地对数据进行分析,通过Ignite的JDBC驱动,Zeppelin就可以接入集群,功能包括:

 - 通过Ignite的SQL解释器获取分布式数据;
- 缓存数据的表格或者图形展示;
- 通过Scala执行分布式的计算。

6.Ignite & Spark

6.1.Spark共享内存层


Ignite共享RDD 
Apache Ignite提供了一个Spark RDD抽象的实现,他允许跨越多个Spark作业时方便地在内存内共享状态,在不同的Spark作业、worker或者应用之间,IgniteRDD为内存中的相同数据提供了一个共享、可变的视图,原生的SparkRDD无法在多个Spark作业或者应用之间进行共享。 
IgniteRDD作为Ignite分布式缓存的视图,既可以在Spark作业执行进程中部署,也可以在Spark worker中部署,也可以在它自己的集群中部署。根据预配置的部署模型,状态共享既可以只存在于一个Spark应用的生命周期的内部(嵌入式模式),或者也可以存在于Spark应用的外部(独立模式)。 

虽然SparkSQL支持丰富的SQL语法,但是它没有实现索引。这样即使在一个不太大的数据集上执行查询,也可能花费比较长的时间,因为需要对数据进行全部扫描。如果使用Ignite,开发者可以配置一级和二级索引,带来上千倍的性能提升。 
Ignite DataFrames 
Spark的DataFrame API引入了模式的概念来描述数据,这样Spark就可以以表格的形式管理模式和组织数据。简而言之,DataFrame就是组织成命名列的分布式数据集合。它从概念上来说,等价于关系数据库的表,会促使Spark执行查询优化器,产生比RDD更高效的执行计划,而RDD仅仅是集群中的一个分区化的元素集合。 

Ignite扩展了DataFrame,如果将Ignite作为Spark的内存层,会简化开发以及提高性能,好处包括:

  • 通过向Ignite读写DataFrames,可以在Spark作业之间共享数据和状态;

  • 通过高级的索引以及避免数据在网络中的移动,优化Spark的查询执行计划,使Spark查询速度更快。

展开阅读全文

评论 (8)

加载中
能不能推荐一个专门用来组织数据的框架
2020/05/29 16:45
回复
举报
请问谁知道绘制流程图示意图的软件是什么啊,看着很舒服。
2018/01/11 21:14
回复
举报
1
2017/05/16 16:05
回复
举报
这个图是拿什么软件画的? Apache Ignite
2015/01/11 22:37
回复
举报
估计是手写笔,像iPAD的53软件 Apache Ignite
2015/01/12 10:35
回复
举报
收了。。。。 Apache Ignite
2015/01/19 09:32
回复
举报
很不错的样子 #Apache Ignite#
2016/02/14 11:33
回复
举报
Apache Ignite #Apache Ignite#
2016/08/09 15:31
回复
举报
更多评论
2020/12/29 19:26

Apache Ignite 2.9.1 版本发布,小版本更新

Apache Ignite 发行注记 =========================== Apache Ignite 内存计算平台 2.9.1 ----------------------------------------------------------- Ignite核心: 新增支持ZookeeperDiscoverySpi的优雅关闭; 新增二进制元数据的系统视图; 新增元数据存储的系统视图; 新增RebalancingPartitionsTotal指标; 改进了检查点的并发行为; 修复了注销JMX Bean时导致严重系统错误的问题; 修复了即使缓存已经关闭,IgniteCache...

1
0
发表于开发技能专区
2020/10/22 18:26

Apache Ignite 2.9.0 版本发布,内存计算平台

Apache Ignite 2.9 版本更新说明如下: Ignite 核心 * 持久化缓存新增集群快照功能; * 事务、发现、交换和通信组件支持跟踪; * 新增集群只读状态:在这个状态中缓存只允许进行读操作,对缓存进行数据修改(更新、删除、清理、创建、销毁等)都是不允许的; * 透明数据加密新增主键旋转功能; * 新增在沙箱中运行用户代码的功能; * 新增集群ID和标签属性,用于标示集群; * 原生客户端新增与服务端的单向连接支持; * 对于原生...

1
7
发表于DevOps专区
2020/05/28 10:04

Apache Ignite 2.8.1 版本发布,内存计算平台,小版本更新

Apache Ignite 2.8.0版本发布2个月后,研发团队发布了2.8.1版本,解决了大版本发布后社区反馈的以及遗留的一系列问题。 Apache Ignite 2.8.1 安全: 解决了使用H2管理权限进行SQL连接时的安全漏洞; Ignite Core: 新增了获取集群完整再平衡状态的指标; 新增了COMPUTE_JOB系统视图; 在DistributedMetaStorage中新增了对long型主键的支持; 新增了事务操作相关的指标; 解决了瘦客户端的ClassCastException异常; 解决了LogExpo...

2
5
发表于DevOps专区
2020/03/04 09:45

Apache Ignite 2.8.0 版本发布,内存计算平台,里程碑版本更新

Apache Ignite 2.8版本经过了一年多的开发,现已发布。这是个大版本更新,新增了大量的功能,也解决了近一年中开发者反馈的大量问题,推荐开发者更新,更新内容清单非常长,现把重点内容摘录如下: Apache Ignite 2.8.0 Ignite 实验性 API: 新增了监控API - 向外部接收者输出Ignite指标信息; 使用withReadRepair扩展IgniteCache API对每个缓存执行备份节点一致性检查; 将MVCC特性标记为试验性 (2.7.0版本新增); Ignite 监控:...

8
11
发表于DevOps专区
2019/09/20 20:45

Apache Ignite 2.7.6 发布,分布式数据库、缓存和处理平台

Apache Ignite 2.7.6 发布了,Ignite 是一个以内存为中心的分布式HTAP数据库、缓存和处理平台,支持事务、分析以及流式负载,可以在PB级数据上享有内存级的性能。 这是一个小版本更新,主要解决了如下的问题: Ignite: 未配置IGNITE_HOME时,调整默认的持久化目录,原生持久化文件不再存储于临时目录; 修复了执行在主复合键的一部分上使用等式谓词的SELECT查询时,即使匹配多行也会返回单行数据的问题; 修复了在检查点执行过程...

2
7
发表于服务端专区
2019/06/12 09:53

Apache Ignite 2.7.5 发布,分布式数据库、缓存和处理平台

Apache Ignite 2.7.5 发布了,Ignite 是一个以内存为中心的分布式数据库、缓存和处理平台,支持事务、分析以及流式负载,可以在 PB 级数据上享有内存级的性能。 这是一个小版本更新,主要增加了对Java11的支持,具体内容如下: Ignite: * 增加了对Java11的支持; * 修复了SSL握手期间的无限循环(Java 11/Windows环境); * 修复了不正确的页面滚动导致的存储损坏; * 修复了不正确的页面滚动导致的WAL记录自动处理错误; * 修复...

6
21
发表于服务端专区
2019/03/11 08:46

GridGain 社区版面世:面向生产的 Apache Ignite

GridGain公司近日宣布,推出GridGain社区版(GCE)——一个增强的、高性能的开源内存计算平台。 GCE基于Apache®Ignite™构建,包含GridGain®开发的附加功能,调整和补丁更新,提供了更好的性能,它采用了GridGain社区版许可证。 GridGain社区版包括了Apache Ignite的代码库,加上为提高性能、可靠性、安全性和可管理性而开发的补丁和附加功能。GCE经过了广泛的QA测试,以确保开箱即用的高可靠性和最佳性能。 这为什么很重要?...

5
12
发表于开发技能专区
2018/12/08 08:29

Apache Ignite 2.7.0 发布,分布式数据库、缓存和处理平台

Apache Ignite 2.7.0 发布了,Ignite 是一个以内存为中心的分布式数据库、缓存和处理平台,支持事务、分析以及流式负载,可以在 PB 级数据上享有内存级的性能。 更新如下: Ignite: Added experimental support for multi-version concurrency control with snapshot isolation available for both cache API and SQL use CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT to enable it not production ready, data consistency is n...

33
9
发表于开发技能专区
2018/07/19 09:24

Apache Ignite 2.6.0 版本发布,紧急问题修复

Apache IGNITE 2.6 已发布,更新如下 特性和改进 Apache Ignite Linux packages 2.6 update [#IGNITE-8807] Windows WSL configuration has to be added to Ignite configs [#IGNITE-8804] Support reuse of already initialized Ignite in IgniteSpringBean [#IGNITE-8740] Upgrade Ignite Spark Module's Spark version to 2.3.0 [#IGNITE-8534] 修正 Spark examples doesn't work [#IGNITE-8889] JVM crash in PDS1 suite i...

0
2
发表于运维专区
2018/06/04 08:17

Apache Ignite 高危漏洞预警:攻击者可执行任意代码

Apache Ignite 的开发团队近日在 Apache 邮件列表上发布了一个高危漏洞(CVE-2014-0114)预警,所有 Ignite 2.4 及更早之前的版本都会受到影响。 据悉,Apache Ignite 使用了 commons-beanutils-1.8.3.jar 库,由于该库不禁止类属性(class property),导致远程攻击者可通过类参数“操作” ClassLoader 并执行任意代码。当 Ignite 的类路径包含易受攻击的类时,攻击者可以在 Ignite 节点上执行任意代码。 开发团队建议用户确保...

0
2
发表于服务端专区
2018/06/01 11:04

Apache Ignite 2.5.0 版本发布,千级节点伸缩性

Apache Ignite 2.5: 千级节点伸缩性 Apache Ignite的用户通常知道的两个关键点是-扩展性和性能。在很多分布式系统的整个生命周期中,通常会不停地改进性能,而对扩展性相关的改进次数,会比较少。这不是不关注于扩展性,而是因为分布式系统一次性地解决了可扩展性,而不需要工程师额外的特别关注。 但是,随着Ignite的增长,社区对Ignite的发现机制进行重新审视,看它对扩展性有多大的影响,目标很明确,Ignite要扩展至上千个节...

10
3
发表于服务端专区
2018/03/13 07:04

Apache Ignite 2.4.0 发布,内存数据组织平台

Apache Ignite 2.4.0 发布了。更新内容如下: Apache Ignite 发行注记 =========================== Apache Ignite In-Memory Data Fabric 2.4 --------------------------------------- Ignite: * 引入基线关系网络; * 通过IgniteCluster API或者ALTER TABLE命令,可以在运行时禁用缓存的WAL; * 增加将WAL转换为易读形式的功能; * 支持启用/禁用JDBC、ODBC以及thin模式客户端; * 最低要求Java 8; * 不再支持Java 7; * Ig...

4
9
发表了资讯
2017/11/02 07:31

Apache Ignite 2.3.0 发布,内存数据组织平台

Apache Ignite 2.3.0 发布了。Apache Ignite 是内存计算平台,经久耐用,性能一致,并且高度可用,具有强大的SQL,键值和处理API。 此版本新增了更多 SQL 功能,并对 Ignite 持久性进行了改进,主要更新内容如下: 现支持 ALTER TABLE 命令添加列 每个 Ignite 版本都包含 SQLLine 工具 发布新的 SQL 文档 显示与 SQL 数据库一起交互 Ignite 的屏幕截图 详细内容请查看发布日志。 下载地址: https://ignite.apache.org/download...

2
10
发表了资讯
2017/09/20 23:50

Apache Ignite 2.2.0 版本发布,小幅更新版本

社区宣布,Apache Ignite 2.2.0版本正式发布,但是这只是一个Bug紧急修复版本,更新如下: Apahe Ignite包含了一些修复,解决了由于默认内存分配参数导致的内存过度使用问题。如果在一台主机上启动了多个节点,这个问题会频繁发生,如果因为本地主机的可用内存竞争导致了集群节点的假死然后没有响应,建议升级到2.2版本。 特性和改进 检查点算法优化: [#IGNITE-6204] 将默认的最大内存大小从 80% 改为 20%: [#IGNITE-6182] C++:...

0
5
发表了资讯
2017/07/28 09:15

Apache Ignite 2.1.0 版本发布,全新的持久化存储

社区宣布,Apache Ignite 2.1.0版本正式发布。 这个版本包括了一个捐赠来的全新特性-Ignite持久化存储,他具有完全的内存持久化架构,使得应用同时具有基于内存的高性能以及基于磁盘的持久化。 Ignite持久化存储具有完全的分布式ACID特性以及兼容SQL标准,他可以作为一个可选的磁盘层与Ignite透明地进行集成(SSD,Flash,3D XPoint),开启这个功能后,就不再需要将所有数据保存在内存中,或者在集群重启之后重新加载数据。这个...

6
18
发表了资讯
2017/05/06 07:33

Apache Ignite 2.0.0 发布,内存数据组织平台

Apache Ignite 内存数组组织框架是一个高性能、集成和分布式的内存计算和事务平台,用于大规模的数据集处理。Ignite 为应用和不同的数据源之间提供一个高性能、分布式内存中数据组织管理的框架。 Apache Ignite 2.0.0 版本包含了一些重要变化,整个堆栈内存架构进行了重新设计,并且将来,Ignite 可以轻松地与 Flash 和 SSD 驱动器集成(敬请关注!);SQL Grid 已经丰富了数据定义语言支持; 在 fabric - Machine Learning Gr...

4
8
发表了资讯
2017/03/07 10:38

Apache Ignite 1.9.0 发布,内存数据组织平台

Apache Ignite 内存数组组织框架是一个高性能、集成和分布式的内存计算和事务平台,用于大规模的数据集处理。Ignite 为应用和不同的数据源之间提供一个高性能、分布式内存中数据组织管理的框架。 Apache Ignite 1.9.0 更新内容: Ignite: 新增 DML 数据流模式 为 Ignite Kubernetes Pods 添加 Discovery SPI 实现 SQL: Query 可利用多个线程 SQL: 改进的分布式 SQL 支持 基准简化和自动化 修复构建期间的许可证生成 ignite-spa...

2
18
发表了资讯
2016/12/11 21:17

Apache Ignite 1.8.0 发布,全新的 SQL 网格

Apache Ignite 发布说明 Apache Ignite In-Memory Data Fabric 1.8 Ignite: SQL: 新增对DML操作的支持 (INSERT, UPDATE, DELETE, MERGE) SQL: 聚合时改进了DISTINCT 关键字的处理 Hadoop: 新增了对MapR 发行版的支持 Visor: 改进了SQL 统计 新增了Redis 协议的支持 新增了事务死锁 非常多的稳定性和容错性改进。 Ignite.NET: 新增了ASP.NET 的Session状态存储Provider。 新增了对Entity Framework 二级缓存的支持。 定制化日志记...

8
6
发表了资讯
2016/08/06 00:00

Apache Ignite 1.7.0 发布,内存数据组织平台

Apache Ignite 1.7.0 发布了。Apache Ignite 内存数组组织框架是一个高性能、集成和分布式的内存计算和事务平台,用于大规模的数据集处理。Ignite 为应用和不同的数据源之间提供一个高性能、分布式内存中数据组织管理的框架。 Apache Ignite In-Memory Data Fabric 1.7 Ignite: 新增分布式SQL JOIN。 只有预加载结束后,节点才会被赋予为主节点。 修复了 CountDownLatch 重新创建的问题。 ODBC: 新增decimal 类型支持。 Visor:...

9
33
发表了资讯
2016/05/23 00:00

Apache Ignite 1.6.0 发布,内存数据组织平台

Apache Ignite 内存数据组织平台 1.6.0 版本发布: --------------------------------------- Ignite .NET: * 新增:为缓存的SQl查询提供了 LINQ Provider; * 新增: 原生的配置机制 (C#, app.config, web.config - 替代 Spring XML); * 新增: 新增了分布式NuGet; * 新增: 新增了AtomicSequence和AtomicReference数据结构; * 二进制支持任何CPU (不只是 x64/x86); * 可以和调用.NET服务同样的方式调用基于Java的服务; ...

9
21
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于云计算专区
2016/03/31 21:12

Apache Ignite(六):Ignite的集群部署

# Ignite的集群部署 Ignite具有非常先进的集群能力,本文针对和集群有关的技术点做一个简短的介绍,然后针对实际应用的可能部署形式做了说明和对比,从中我们可以发现,Ignite平台在部署的灵活性上,具有很大的优势。 ## 1.相关概念 ### 1.1.节点平等 Ignite没有master节点或者server节点,也没有worker节点或者client节点,按照Ignite的观点所有节点都是平等的。但是开发者可以将节点配置成master,worker或者client以及data节...

21
19
发表了博客
2019/03/12 15:28

Ignite笔记-NET嵌入Ignite

参考:官方文档 https://apacheignite-net.readme.io/docs .NET 问题 跨平台 1.Nuget 安装 Apache Ignite 目前NETCORE版本无法安装 提示需要NET4.6.1 官网有NETCORE案例具体原因不明 2.启动代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Apache.Ignite; using Apache.Ignite.Core; using Apache.Ignite.Core.Compute; namespace NetCmd...

0
0
发表了博客
2018/03/11 02:42

Apache Ignite剖析

1.概述   Apache Ignite和Apache Arrow很类似,属于大数据范畴中的内存分布式管理系统。在《Apache Arrow 内存数据》中介绍了Arrow的相关内容,它统一了大数据领域各个生态系统的数据格式,避免了序列化和反序列化所带来的资源开销(能够节省80%左右的CPU资源)。今天来给大家剖析下Apache Ignite的相关内容。 2.内容   Apache Ignite是一个以内存为中心的数据平台,具有强一致性、高可用、强大的SQL、K/V以及其所对应的应用...

0
0
发表了博客
2019/08/07 21:30

apache ignite系列(九):ignite调优

1,配置文件调优 1.1 设置页面大小(pagesize) 先查看系统pagesiz,使用PAGE_SIZE或者PAGESIZE # getconf PAGE_SIZE 4096 # getconf PAGESIZE 4096 ignite默认配置是4k,也就是4096,如果服务器和ignite默认配置不一致,那么就得在配置文件中指定: <bean class="org.apache.ignite.configuration.IgniteConfiguration"> <property name="dataStorageConfiguration"> <bean class="org.apache.ignite.configuration.DataS...

0
0
发表于AI & 大数据专区
2018/11/05 17:52

ignite入门

## 基本概念 ### 1.1.Ignite是什么 ------------ Ignite是: 一个以内存为中心的分布式数据库、缓存和处理平台,可以在PB级数据中,以内存级的速度进行事务性、分析性以及流式负载的处理。 #### 1.1.1.固化内存 可以按需将持久化打开或者关闭。如果持久化关闭,那么Ignite就可以作为一个分布式的内存数据库或者内存数据网格。 #### 1.1.2.Ignite持久化 Ignite的原生持久化是一个分布式的、支持ACID以及兼容SQL的磁盘存储。 ####...

2
3
发表了博客
2019/12/14 15:42

Apache Ignite Docker部署

Docker允许将具有所有依赖项的Ignite部署打包到标准容器中。Docker自动下载Ignite版本,将用户库部署到Ignite中,并配置节点。它还会自动启动完全配置好的Ignite节点。这种集成方式允许用户通过重新启动Ignite Docker容器来部署新代码。 要运行docker容器,需要拉动并启动docker映像。默认情况下,将下载最新版本。你可以在这里看到标签的完整列表:https://hub.docker.com/r/apacheignite/ignite/tags 下载镜像 # Pull latest ...

0
0
发表了博客
2020/09/01 09:41

Ignite配置

集群发现 Ignite的发现机制,根据不同的使用场景,有两种实现: TCP/IP发现:面向百级集群节点设计和优化; ZooKeeper发现:允许将Ignite集群节点数扩展至百级甚至千级,仍然保证扩展性和性能。 1.TCP/IP发现 1.1.概述 Ignite中,通过DiscoverySpi节点可以彼此发现对方,Ignite提供了TcpDiscoverySpi作为DiscoverySpi的默认实现,它使用TCP/IP来作为节点发现的实现,可以配置成基于组播的或者基于静态IP的. 1.2.组播IP探测器 Tc...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2019/06/25 16:37

生产环境使用ignite2.7集群,运行一段时间后内存泄漏

@李玉珏 你好,想跟你请教个问题: 我们在生产环境使用了ignite2.7集群,嵌入式启动的ignite服务端节点。4台物理机,每台启了4个节点,每个节点堆外内存40G,堆内存40G。使用DataStream每秒更新约10万条数据,一开始运行都比较正常。 过了10多天后,Heap被占满,频繁GC也无法释放内存,然后整个集群挂掉无法使用。重启后恢复,过段时间又是如此。 下面是Heap被占满后,取的DUMP文件,然后用EMT工具分析的,看到有3个地方可能有内...

3
0
发表于运维专区
2020/03/21 21:51

ignite命令行visor连接不成功

@李玉珏 你好,想跟你请教个问题: ignite部署baseline检测到集群,但是用visor open的时候,选择对应的xml文件后,却连接失败,提示diconnet,有告警[WARN ] Rebalance thread pool size exceed or equals System thread pool size. Change IgniteConfiguration.rebalanceThreadPoolSize property before next start.不知道是什么意思...

2
0
发表于运维专区
2019/05/07 11:07

ignite不打印日志

@Ignite技术服务 你好,想跟你请教个问题: 目前我这边ignite发现日志不打印,但是ignite我是用root用户启动的,使用的是默认的日志,没有用log4j之类的。然后现在发现ignite默认的日志目录/$ignit_home/work/log目录下面给了777 日志也无法生成,想请教下我在哪个配置文件更改日志存放路径,用的参数应该是什么才是正确的。 我想改了日志存放路径看下是否能正常打印日志。目前每过一两天ignite进程就会死掉。非常感谢您的帮助...

1
0
2019/03/11 15:05

apache ignite 的Text Query可以结合sql查询一起使用吗?或者说是否可以通过sql语句的方式进行文本查询?

apache ignite 的Text Query可以结合sql查询一起使用吗?或者说是否可以通过sql语句的方式进行文本查询?

1
0
发表于服务端专区
2019/02/12 10:31

ignite并行查看queryParallelism,left join 查询有问题

有个ignite问题想咨询下,ignite集成RDBMS(mysql)数据库。我通过web控制台配置XML文件启动ignite服务。配置文件中配置两个表并行查询数都为32,但是sql查询两个表left join时查询出数据不对。自己和自己join时数据查询也不对。请教下是什么原因导致的。 具体如下: <property name="queryParallelism" value="32"/> 其中表TAB_ORG和表TAB_ORG_PROPERTY_VALUE 并行查询数设置都为32. TAB_ORG缓存数据有5万,TAB_ORG_PROPERTY_...

1
0
发表于服务端专区
2019/10/12 09:35

请问现在的ignite最新版本支持完整事务吗

@李玉珏 你好,想跟你请教个问题:

1
0
2019/10/18 17:43

关于ignite第三方持久化问题

目前我项目使用到ignite独立服务端,程序作为thin客户端连接模式,遇到一个问题:如果ignite服务端不存在某条记录,而存在数据库(oracle),客户端查询的时候能否交由服务端进行查询并且put进去服务端。非常感谢!

1
0
发表于运维专区
2020/05/26 15:49

ignite 集群不能自动重连

@李玉珏 你好,想跟你请教个问题: ignite 集群部署,是 嵌入式模式部署, 自动发现使用的是 zk,假如有两个服务端节点 s1,s2, 然后把 s1断网,查看zk 发现 s1被移除了,继续等待最后 s1 自动停止了,没有重新加入到集群中,如何解决,或者通过其他方式解决,谢谢

1
0
2020/05/21 15:14

Ignite Task Deployment的问题

@李玉珏 你好,想跟你请教几个问题: Task打包,发布具体是怎么样的一个流程? 打包成jar包,复制到./libs目录后,在什么地方调用它,触发这个task? 有没有具体的例子可以参考。 另外,对Ignite的client/server的设计不太理解,这个server好理解,这个client的初衷是什么,有什么主要的业务使用场景吗? 非常感谢。

1
0
发表于服务端专区
2018/06/19 10:01

ignite 分布式锁问题

@李玉珏 您好!!! 我今天看了一下ignite的分布式锁,想请教一下,如果一个cache被lock,而获得lock的机器发生了down机,那锁是怎么释放的呢? 谢谢!!!

1
0
发表于DevOps专区
2019/12/20 11:43

使用ignite和mariadb做了一个简单的测试,发现ignite很慢???

@李玉珏 ,你好!!! 我用ignite和mariadb做了一个简单实验,在ignite和mariadb中存储有相同的数据,大概1000000条,同一台机器,使用的是DBeaver。 发现ignite的select查询比mariadb慢很多。 sql语句: select sr_customer_sk as ctr_customer_sk ,sr_store_sk as ctr_store_sk ,sum(SR_FEE) as ctr_total_return from store_returns ,date_dim where sr_returned_date_sk = d_date_sk and d_year =2000 group by sr_custome...

1
0
发表于服务端专区
2019/04/02 10:13

关于Ignite的高可用配置

@李玉珏 您好! 麻烦请教一个关于Ignite高可用的问题。 问题上下文描述: 1)验证环境是2台ubuntu 18.04 x64,部署了Ignite2.7版本 2)在Ignite配置文件中配置了一个DataRegion,并将缺省DataRegion和DataRegion1的persistenceEnabled属性都设置为true 3)使用ThinClient方式读写Ignite中的数据,并将CacheClientConfiguration对象中的CacheMode设置为acheMode.Replicated 4)需要验证的是:在持续读写的情况下,2台server S1,...

1
0
发表于软件架构专区
2019/02/28 17:07

Ignite自动stop

@李玉珏 你好,想跟你请教个问题: 我目前在使用Ignite 2.7.0版本做分布式缓存和分布式计算网格(嵌入我的应用中),在系统启动后,运行一段时间后Ignite的节点就会自动关闭,日志如下: [grid-timeout-worker-#71] 2019-02-25 11:29:26,698 ERROR [org.apache.ignite.internal.util.typedef.G] - Blocked system-critical thread has been detected. This can lead to cluster-wide undefined behaviour [threadName=grid-nio...

3
0
发表于DevOps专区
2019/05/05 16:57

ignite不打印日志

@Ignite技术服务 你好,想跟你请教个问题: 我的环境:CentOS Linux release 7.4.1708 (Core) 用ignite2.6版本。现在发现无论是单机版本还是集群,我的ignite都不能打印日志。并且我想关闭 quiet模式,在ignite.sh脚本中加了参数 启动的时候还是有-DIGNITE_QUIET=true。 但是我从官网下载ignite-2.6二进制包解压直接单实例运行,发现work/log目录又是有日志的。找了好久没找到原因,麻烦指导下,谢谢...

1
0
发表于运维专区
2018/12/27 11:18

Ignite版本问题

我pom.xml文件引入的时Ignite2.6 ,为什么启动的日志显示 的时2.5,加入集群失败[11:14:13] ver. 2.5.0-SNAPSHOT#19700101-sha1:DEV <dependency> <groupId>org.apache.ignite</groupId> <artifactId>ignite-core</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache.ignite</groupId> <artifactId>ignite-spring</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupI...

1
0
发表于开源治理专区
2009/11/30 21:20

详细介绍 Apache Licence 2.0 协议

Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似: 需要给代码的用户一份Apache Licence 如果你修改了代码,需要在被修改的文件中说明。 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。 如果再发布的产...

37
62
发表于DevOps专区
2019/12/02 21:38

IgniteRDD与sparkRDD到底是什么关系呢?

@李玉珏 你好,想跟你请教个问题:看完你的文章我有一个疑问,就是IgniteRDD与sparkRDD到底是什么关系?能不能用IgniteRDD代替sparkRDD呢?我的理解是spark产生的RDD存储在ignite中。还有,能不能集成spark streaming+ignite呢? 希望您有时间能够回复下我,非常期待与您交流。

1
0
2019/09/15 10:04

Apache ignite 并发写入测试

使用Data streamers API对ignite进行并发写入测试,结果发现两台机器同时写入的速度的总和小于单台机器写入的速度,这是为什么呢?如果接入数据量过大,通过增加机器来提高吞吐是不是存在问题?

5
0
2018/12/28 12:03

Ignite问题求解答

Ignitr集群写数据,用的分区模式,两台节点服务器的内存一直再涨,写完之后,新加了一个节点,但是发现这个节点内存没有变化,并没有增长,原来两个节点内存没有降低,为什么那

1
0
发表于DevOps专区
2019/01/15 17:56

ignite 数据迁移

ignite 数据迁移后通过SQL可以查到数据,但是通过ignite.cache(name).get(key)拿不到数据,有那位遇到过相同的问题

1
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
8 评论
579 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部