我在阿里云ECS服务器(和亚马逊AWS一样)上运行ignite服务器,在查看日志时发现一些警告,服务器似乎试图用outter IP连接其他节点(outter IP似乎也是阿里云服务器)
但我的服务器配置了静态IP发现:
<!-- Explicitly configure TCP discovery SPI to provide list of initial nodes. -->
<property name="discoverySpi">
我们希望在应用程序中集成ApacheIgnite。我们的应用程序部署在客户网络上的多个服务器上,并且能够自我更新
问题是,当应用程序更新时,我们的服务器同时运行不同的版本。因此,更新后的服务器重新加入集群,并基于旧类获取数据副本。当所有服务器都被更新时,数据会被传递出去,我们最终会得到一组更新的服务器和旧数据
我的目标是用更新的服务器形成一个新的空集群。我已经了解到有多种方法可以做到这一点,比如更改多播组或本地端口。但我需要一个解决方案,该解决方案适用于多播和直接IP连接,并且不改变端口。由于防
我有一个服务器,服务器上有一个容器,在这个容器上启动了Ignite节点。
并知道服务器配置(IP、容器端口等)。
并希望从我的电脑(从Intellij Idea)连接(查找)到此节点。
也就是说,我想启动另一个Ignite,它必须连接到服务器上的节点。
如何配置新的起始节点
使用TcpDiscoverySpi或CommunicationSpi以及如何使用IP和端口。您需要在PC上启动一个节点,其中为TcpDiscoverySpi设置的IP查找器将包含远程群集的IP和端口列表
最有可能的是,在您这
我们正在使用Ignite的分布式数据结构-IgniteQueue。请在下面查找服务器详细信息
服务器1:初始化队列并持续运行
服务器2:生产者。向队列生成内容。偶尔开始
服务器3:消费者。使用队列中的内容。偶尔开始
问题:当生产者和消费者之间的时间间隔为10分钟时,队列中的数据将丢失
您能否提供正确的配置[逐出],将队列中的内容保留到服务器1停止为止
最终应该不会有任何数据丢失。队列不会被逐出。而且默认情况下没有备份,因此在启动和停止服务器时,很可能会导致重新平衡,最终会丢失一些条目。我建议采取
我目前正在运行ignite 2.5,不知道是否有一种方法可以通过编程方式获取整个ignite集群上创建的缓存和队列的所有IgniteQueue和IgniteCache代理(或者他们的配置,对于缓存,我想我可以从IgniteConfiguration(如果是已配置的缓存)或IgniteCache proxy(也可以从IgniteCache代理)获得,队列也可以配置吗?以及我如何获得他们的配置)
例如,我看到了Ignite#cacheNames(),我认为它将返回所有缓存名称,包括为队列内部创建的名
对于ApacheIgnite,当键值缓存溢出到磁盘时,它是一次溢出一个键还是将部分值溢出到磁盘
此外,对于IgniteCache.localentries(),将自动从磁盘读取所有值,或者是否有方法首先遍历内存中的值?逐出是基于每个条目进行的。例如,您不能仅从内存中删除一半的值
对于localEntries方法,其行为取决于提供的cachepeek模式。例如,要从所有存储层获取条目,请按如下方式调用:
cache.localEntries(CachePeekMode.ALL);
那么,对于内存
我有两个大表A和B,我想在两列上连接这两个表,例如,project\u id和customer\u id。
当我加入ApacheIgnite时,我发现性能非常差。经过调查,我认为问题在于数据在不同的节点随机接收
当连接发生时,节点之间进行数据传输,使相同的项目id和客户id从A和B进入同一节点
就我而言
根据A和B的项目id和客户id将数据加载到Ignite集群中,以便在进行连接时不进行数据传输。解决方案可行,但不灵活
仅使用一个节点保存所有数据。此解决方案可以工作,但单个节点有内存限制(一个节
当我删除5000万数据时,我的RAM没有改变,但我的磁盘减少了。
点火器何时释放柱塞?
我试图关闭ignite的节点,RAM变化非常快。我想在我离开时释放我的RAM
删除我的数据。Ignite不会释放它不使用的RAM。我们从未将此场景视为优先级:我们只希望数据量增加:)事先决定要为Ignite节点分配多少RAM空间,并将值设置为一个节点中的maxSize
如果您想了解Ignite中内存管理的内部内容,请进行研究。使用时,RAM会释放?据我所知,Ignite不会释放堆外RAM。如果堆外RAM变化过
假设下面有一个对象Employee,它存储在ignite缓存中
Employee{
int id;
String name;
List<Double> marksInorder;//marks for each subject in order
//hypothetical situation, actual requirement is different
}
员工{
int-id;
字符串名;
列出标记顺序;//按顺序列出每个主题的标记
在Redis模式下,发送的数据与接收的数据不同。memcached也有同样的问题。以下是Redis的代码示例:
import pickle
import redis
REDIS = {
'host': 'localhost',
'port': 6379,
'db': 0
}
IGNITE = {
'host': 'localhost',
'port': 11211,
'db': 0
}
def test_connection(redi
我尝试将我的Ignite客户端A(在Eclipse IDE中运行)连接到另一个网络(OpenStack VM)中运行的远程Ignite服务器BB有一个公共IP(“浮动IP”):如193.224.x和一个私有IP:192.168.0.4(在a中不可见)。
在A中,我将B的公共IP设置为在Java中连接(例如:IgniteConfiguration
我下载了Ignite 2.5.0(我在Mac上的Eclipse中为我的Java类使用maven依赖项),并尝试使用一个带有绝对路径的配置文件启动Ignite:
public static void main(String [] args) throws Exception {
try (Ignite ignite = Ignition.start("/Users/ahajnal/Documents/git/ignite/target/classes/default-config.xml"
Ignite 2.8.0,我启用持久性,代码如下:
IgniteConfiguration igniteCfg = new IgniteConfiguration();
//igniteCfg.setClientMode(true);
DataStorageConfiguration dataStorageCfg = new DataStorageConfiguration();
dataStorageCfg.getDefault
我想通过编程而不是xml来配置ignite log4j2配置。
如何使用java配置ignite log4j2配置?有人能帮忙吗?不幸的是,它构建的Ignite目前不支持纯编程的配置方式
但事实上,您可以使用slf4j日志外观,该外观由引擎盖下的log4j2支持。在这种情况下,您将拥有某种完全的日志记录配置。
为了实现这一点,您应该手动添加log4j2依赖项以及依赖项。同时,您需要log4j2slf4j来允许Ignite日志记录设施将调用转移到log4j2
例如,如果使用maven,则pom.x
我有一个用例,我的Ignite缓存键/值不能有相应的Java类,我使用BinaryObject作为键和值类型。下面的代码工作正常(没有任何通读)
您还应该将storeKeepBinary设置为true这正是缺少的内容。。我刚刚设置了cacheCfg.setStoreKeepBinary(true);现在一切正常。谢谢
CacheConfiguration cfg = new CacheConfiguration("cache1");
IgniteCache<Binary
我已经启动了ignite的3个服务器和2个客户端节点。若我停止一个服务器节点,那个么两个客户端都会在信号量释放调用中卡住
你能告诉我原因吗
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base@11.0.9/Native Method)
at java.util.concurrent.locks.LockSupport.park(java.base@11.0.9/LockSupp
我在两个jvm中运行了一个带有两个ignite缓存节点的示例。每个jvm运行一个ignite节点。这些节点映射到同一缓存
ignite-config.xml
...
...
我不确定为什么ignitevisorcmd.sh报告钥匙丢失。我建议在杀死节点后通过查询直接查看缓存。或者按照Valentin的建议,您可以尝试IgniteCache.size()我不确定为什么ignitevisorcmd.sh报告密钥丢失。我建议在杀死节点后通过查询直接查看缓存。或者正如Valentin所建议的,您可
目前我们正在使用Ignite2.1和SpringDataIgnite存储库。我有一个服务器节点和一个客户端节点,其中有一个缓存“TestCache”。当客户端连接到服务器,并且服务器节点关闭时,它将断开连接。当服务器节点重新启动时,客户端节点将重新连接
但是,当连接回时,缓存“TestCache”不再可访问,出现以下异常:
java.lang.IllegalStateException: class org.apache.ignite.internal.processors.cache.Cach
标签: Ignite
distributed-caching
在一个由8个节点组成的基线集群中,我们在分区模板中拥有数据,而无需备份。假设我在中的所有8个节点中都有平均28K个条目SampleTable@Cache. 总数据=28K*8=224K个条目
创建表格SampleTable。。。。使用模板=分区
现在,我想关闭一个节点,在关闭之前,我想将数据从第8个节点移动到其他节点,以便将大约32K 32K*7=224K个条目移动到7个节点。我可以将数据从任何节点移动到其他节点吗
在关闭一个节点之前,如何将所有数据从一个节点移动到其他节点群集?在rest 7节
我们如何阻止客户端在重试后重新连接到服务器
在我们的例子中(在内存数据库中进行快速检索),我们并行使用了Ignite和Oracle,这样,如果Ignite服务器关闭,我就可以从Oracle获取数据
但当我启动应用程序时(当Ignite服务器节点由于某种原因关闭时),我的应用程序总是等待连接到服务器
控制台消息:
无法从IP finder连接到任何地址(将每隔2000毫秒重试加入拓扑;更改“重新连接延迟”以配置重试频率):
有一个TcpDiscoverySpi.joinTimeout属性,它完全满
我有6个Ignite节点,所有节点都连接良好,形成一个集群。另外,我将备份副本作为2份。现在我已经向集群发送了20个数据来检查分区和数据(主分区和备份分区)。我可以使用cache-a-r命令查看计数。
是否有一种命令或方法可以让我查看每个节点中的实际数据,从而查看主数据和备份副本?您可以使用cache-scan-c=cacheName
缓存中的条目:SQL\u PUBLIC\u PERSON
+===================================================
堆外条目的过期策略未按预期工作。我看到堆外条目呈线性增加,在堆外大小突然下降一段时间后。是否只有缓存项的标记在到期后才完成,并在以后批量收集?我找不到任何与此相关的文档。我们需要在缓存配置中启用渴望TTL。它将在后台创建一个线程并删除过期的条目。Ignite中有两种过期策略模式:即时和非即时:
在紧急情况下,后台线程会定期终止TTL条目。当使用非急切TTL时,条目仅在访问时过期。所以,过期的条目有可能在堆外存储一段时间,直到它们被读取
还要记住,JVM可以分配比立即需要更多的内存。Java进程分
我需要使用Key-Value API在Ignite中放入一些大数据,比如说至少128 MB,我想知道缓存中值的最大大小是多少,分区的最大大小是多少?分区大小没有任何限制
当您向Ignite馈入较大的入口时,只有一个严格的限制-单个入口必须小于WAL段大小。它默认为64mb,所以您必须增加它以让您的用例工作
分区大小没有任何限制
当您向Ignite馈入较大的入口时,只有一个严格的限制-单个入口必须小于WAL段大小。它默认为64mb,所以您必须增加它以让您的用例工作
这很有帮助,谢谢。这很有帮助,谢
我正在使用ApacheIgnite来集群我们的web会话。偶尔我们的一个缓存崩溃,我在Tomcat应用程序日志文件中不断收到以下异常消息:
2016-05-23 15:04:02,200 ERROR root/error 495 - Failed to update web session: null
java.lang.IllegalStateException: Cache has been closed or destroyed: session-cache
at org.
我使用ignite缓存,键作为字符串,值作为对象(类似类型)的集合,比如列表
现在我想查询一下缓存中存储的学生,比如说5名得分最高的学生
定义配置如下
CacheConfiguration<String, List<Student>> cfg = new CacheConfiguration<String, List<Student>>("students");
ignite = Ignition.start("/usr/localc/ignite
我想问一下,是否有针对Ignite缓存运行sql的基准测试报告。
我仔细看了一遍,没有找到
谢谢。GridGain发布了一些基准测试:
然而,目前还不清楚你在寻找什么数字。一切都取决于您的用例和您的比较。SQL查询尤其如此。谢谢@Valentin。我阅读了SQL查询基准部分,结果显示每秒大约有107000个基于SQL的缓存查询操作的吞吐量。它做什么操作?这是否意味着每秒运行107000个sql查询,如“select min”查询?如果是这样,那么它比我的测试结果快得多。
我正在试图弄清楚我应该使用哪种getAll。目前,在我工作的一个项目中,通过QueryCursorImpl
try (QueryCursor<Cache.Entry<IgnitePrimaryKey, V>> query = cache.query(new ScanQuery<>(filter))) {
return query.getAll()
.stream()
...
} catch (Exception
在.net方面,这只是挂起。MyService仅部署在Java端
var svc = Ignite.GetServices().GetServiceProxy<MyService>("MyService");
var svc=Ignite.GetServices().GetServiceProxy(“MyService”);
要从.NET端访问Java服务,我需要在Java端或.NET端执行一些特殊的操作吗?NET端在客户端模式下运行也很重要。我们不希望GUI参与持久存储或计算
我正在运行带有1台服务器和1个客户端节点的Ignite 2.1.0。
我的客户端节点获取1个可用信号量许可证,如下所示:
IgniteSemaphore semaphore = _ignite.semaphore(name, 1, true, true);
if(semaphore.tryAcquire())
...
}
我跳出客户端节点,确认它离开了拓扑。重新启动时,上面的tryAcquire()方法返回false。这不是我所期望的。我希望客户机节点重新获得
我使用的是ApacheIgnite,没有与数据库集成。我的windows计算机出现以下异常。经过调查,发现ODBC驱动程序使用了我收到错误的端口。
我不知道Ignite是否需要它,但现在我们是否可以禁用ODBC/JDBC驱动程序加载,这样它就不需要这些端口了
org.apache.ignite.IgniteCheckedException: Failed to start processor: GridProcessorAdapter []
at org.apache.ignite.i
我在Linux+Kubernetes上使用ApacheIgnite2.7.5forNet。
我在一个节点中定义了一个数据区域“rates”,该节点包含两个本地缓存。节点已成功启动。但是,群集上的所有其他节点都会出现以下错误:
IgniteCheckedException: Requested DataRegion is not configured: rates
但是为什么呢?数据区域仅在单个节点上使用,该节点上所有缓存的缓存模式都设置为CacheMode.Local。所有其他节点根本不使用数
我尝试创建一些箭头向量并将它们直接放入ignite,但失败了,我的问题是:
Ignite support是否存储箭头数据
如果Ignite支持箭头数据,如何在Ignite中存储箭头向量?在将数据放入ignite之前是否需要序列化数据
我的代码:
private static final int DATA_SIZE = 1000;
try(Ignite ignite = Ignition.start("examples/config/example-ignite.xml"))
请参阅下面的事件侦听器代码
试图成为侦听器的客户端节点:
Ignition.setClientMode(true);
IgniteConfiguration cfg = new IgniteConfiguration();
TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
ipFinder.setAddresses(Arrays.asList("127.0.0.1", "127.0.0.1:47500..47509")
我时不时地对节点进行分段。它发生在大约40个节点的集群中—一次只发生在一个节点上。有几次是在一些繁重的GC工作进行时发生的。另一方面,我看到类似的繁重GC工作正在进行,没有节点被分割。我已将故障检测超时调整为大于我所经历的最大GC,但这没有帮助-故障检测超时几乎是最大GC的2倍。我怎样才能确定这到底是GC问题还是网络问题?
我怀疑它与网络有关,因为其他节点也会失败。当进程重新启动时,它工作正常,因此我将排除网络问题。
我在哪里可以看到生成EVT_节点_分段的代码?
我调试了IgniteConfi
我是一只要点燃的新蜜蜂
我们是否可以创建或配置内存中的Ignite表以及清除时间
我的问题是->在X时间点插入的记录应在3小时后自动删除
非常感谢您的帮助请查看过期政策文档:
CreatedExpiryPolicy应该可以解决您的问题。请查看过期策略文档:
CreatedExpiryPolicy应该可以解决您的问题
我对Ignite是个新手,通过关注各种博客了解所需的配置
作为初学者,我使用了“电影镜头”数据(电影和评级),并使用Ignite Web控制台生成所需的配置
请在下面查找有关我的代码的所需详细信息:
1) MySQL表结构
创建表电影(电影id整数,
电影名称VARCHAR(250),类型VARCHAR(250),
约束pk_电影主键(电影id))
创建表格评级(
用户id整数,电影id整数,分级浮动,时间戳,
约束pk_分级主键(用户id、电影id))
2) Spring启动项目中的Ignit
我坚持创建具有完全权限的用户
我已经创建了一个名为shubh的用户。但我不知道如何授予所有特权
并希望删除默认用户(user=ignite,password=ignite)权限
请提出建议。您是否尝试过以下方法:
DROP USER "ignite";
至于权限,我们在ApacheIgnite中还没有细粒度的权限,因此如果您有用户,它可以访问所有表。因此,上面回复的我得出了结论
只需更改默认用户的密码。我不认为Ignite提供了现成的基于角色的安全性。不过,您应该能够更改“ignite”帐户的
使用带有模式导入实用程序的ApacheIgnite数据网格时发生以下异常。以主键“emp_no”作为列名创建的表“employee”。
使用ApacheIgnite模式导入实用程序生成pojo类和配置。尝试执行发行版附带的示例程序。接下来是例外。
ApacheIgnite版本为:1.5.0-final
[16:45:58,890][ERROR][exchange-worker-#49%null%][GridDhtPartitionsExchangeFuture] Failed to re
我正在使用以下代码探索Ignite dataStreamer。
但结果是:
对于MessageKey0001,输出的所有显示数据为空。
对于MessageKey0003,输出也显示所有数据为空
对于MessageKey0002,输出不显示任何内容,看起来接收方代码未运行
当我改变
dataStreamer.addData(i, "data-" + i);
到
future.get()不会返回,看起来addData也不会完成?
我不知道问题出在哪里,有人能看一下吗?谢谢
package igni
我一直试图让ignite continuous query代码在不将对等类加载设置为enabled的情况下运行。但是,我发现代码不起作用。我尝试调试并意识到对cache.query(qry)的调用出现错误,并显示消息“Failed to marshal custom event”错误。当我启用对等类加载时,代码按预期工作。是否有人可以提供指导,说明我如何在不加载对等类的情况下完成这项工作?
下面是调用连续查询的代码段
public void subscribeEvent(IgniteCa
我想用配置名example-igfs.xml启动ignite节点。我已经改变了这个配置,将IGFS用作HDFS的缓存层。但当我为start ignite node执行以下命令时,我遇到了错误:
java.lang.NoClassDefFoundError:com/google/common/base/premissions
位于org.apache.hadoop.conf.Configuration$DeprecationDelta(Configuration.java:361)
位于org.a
我在客户端节点上使用“put”方法将对象放入缓存;然后我在另一个客户机节点上获取它,执行一些逻辑,并使用与之前相同的密钥放置一个新对象。我认为新对象会因为使用相同的密钥而恢复旧对象,但事实上我在几分钟后得到了旧对象。奇怪的是,我在几分钟后得到了新对象。我有三个服务器节点,CacheWriteSynchronization模式为“完全同步”
样本:
// The problem code.
// The mothed means getting the Object from cache by
我有以下格式的缓存对象结构,
键,列表
如何在Ignite配置的关键字段中使用CacheJdbcPojoStoreFactory。您能提供一个例子吗?CacheJdbcPojoStoreFactory主要用于镜像Ignite中数据库表的结构。您没有提到正在使用哪个数据库,但它不太可能有列表数据类型
如果要使用CacheJdbcPojoStoreFactory,则需要在Ignite中正常化缓存结构
或者,您可以选择将执行映射的对象。POJO存储不太可能将列表转换为值。您可以使用自定义缓存存储并将这
我使用UriDeploymentSpibean从一个节点中的目录加载GAR文件
我有以下GARignite.xml文件(顺便说一句,我花了一些时间才弄明白这一点,没有文档记录?)
执行\u 03GarTest类的日志文件(如果使用“SimpleTaskName”或“myproject.SimpleTaskName”)运行,则在客户端节点上转储以下堆栈跟踪:
Exception in thread "main" class org.apache.ignite.IgniteDeploymentExc
我有一个缓存,里面有很多类型。我正在运行纯Java节点。在部署服务之前,我在启动时加载缓存。缓存由CacheJdbcPojoStore支持。我使用的是Ignite 1.8
当我加载null谓词时,一切正常。所有类型及其实例都加载到内存中。然而,当我使用谓词加载时,我得到以下错误。奇怪的是,在windows上,错误不会发生,谓词工作正常。但在Linux上,它失败了。这里可能出了什么问题
缓存加载代码。ServiceStatus和ServiceMetric只是我的数据库支持的两种pojo类型
有人知道使用Ignite时这些日志意味着什么吗
[23:07:54](错误)未能通知侦听器:o.a.i.i.processors.cache.distributed.near.GridNearTxLocal$4@d4b2353java.lang.AssertionError
位于org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry.checkThreadChain(GridDistrib
在第页,我发现了以下信息:
与其他键值存储不同,Ignite使用可插拔哈希算法确定数据位置。每个客户端都可以通过将密钥插入哈希函数来确定该密钥属于哪个节点,而不需要任何特殊的映射服务器或名称节点
如何定义自己的哈希算法?为此,您可以实现AffinityFunction接口,并通过CacheConfiguration#affinityconfiguration属性提供实现。请详细说明?我使用C++客户端,而不太熟悉java方式。我猜C++绑定不允许定义 AffyTyrime,我需要在java中编写
标签: Ignite
distributed-caching
我是Apache Ignite的新手,所以请温柔一点。我的问题很简单。
如果我有一个使用ApacheIgnite的复制缓存。我向这个缓存密钥123写入数据。我的集群有10个节点
第一个问题是:
复制缓存是否意味着在put调用返回之前,必须将密钥123写入所有10个节点?或者,呼叫是否立即返回,复制是否在幕后完成
第二个问题是:
假设键123写在节点1上。它现在被复制到所有其他节点。然而,几微秒后,节点2尝试使用不同的值写入键123。我现在有比赛条件吗?或者Ignite是否以某种方式处理这种情况,
我有一个json对象,我正在使用一个线程将其放入缓存,该线程每5秒调用一次,我想在执行10次put oration后删除缓存数据,并将该数据放入第三方数据库。我如何才能做到这一点,有哪些技巧可以做到这一点。如果您有一个示例,请与我们分享。谢谢您可以通过使用a和a来实现类似的行为
但是考虑到你想保存在缓存中的记录数量,我会这样做:
private static final int BATCH\u SIZE=10;
私有映射批处理=新建HashMap();
公共无效添加记录(K键,V值){
批次。放
我有两种不同的ignite部署。在这两种情况下,ApacheIgnite服务器都是从java程序启动的。该程序设置工作目录,配置记录器,然后启动服务器
我有一个web应用程序ApacheIgnite客户端,它连接到各自的ApacheIgnite服务器并在缓存上执行操作
我观察到的是,在一个环境中,一些文件是在work/marshaller目录中创建的,而在另一个部署中,marshaller文件夹是空的
未启用持久性
有人能解释一下吗
谢谢当使用相应的类型时,Ignite将写入marshaller
1 2 3 4 5 6 ...
下一页 最后一页 共 8 页