问题标签 [geode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
119 浏览

configuration - Gemfire/Geode 备份

我试图在 Gemfire 文档中确定有关区域备份的内容。

http://gemfire.docs.pivotal.io/geode/reference/topics/cache_xml.html#region

向下滚动到 SCOPE 属性...

使用 REGION-ATTRIBUTES 上的 SCOPE 属性,我假设 SCOPE="DISTRIBUTED-ACK" 表示对 REGION 执行同步备份操作,而 SCOPE="DISTRIBUTED-NO-ACK" 表示执行异步备份操作。

有问题的区域已分区。我了解 REPLICTED 区域默认为 DISTRIBUTED-ACK。

这个假设是否正确?例如,通过配置 Gemfire 允许为 REGION 条目更新配置 SYNC 或 ASYNC 备份操作。

0 投票
2 回答
1043 浏览

java - GemFire 缓存客户端可以在服务器上创建区域吗?

我有一个客户端/服务器拓扑方案。

在本地运行一个 Locator 和两台服务器的简单集群,不同的 JVM 进程,服务器在启动时没有创建区域,配置如下:

然后,我正在运行具有以下配置的客户端:

Spring Boot 应用程序启动时没有任何问题,但我发现以下日志很奇怪:

虽然我可以在 Pulse 中看到所有集群成员,但服务器没有“MYREGION”区域。所以,我想知道,缓存客户端可以实际在服务器上创建区域还是只能“使用”现有区域?

Pivotal 文档确实有一个“动态创建区域”部分,但我还没有这样做,因为我失去了分区。

谢谢

0 投票
1 回答
343 浏览

pivot - 如何在 HA 模式下配置 gemfire

如何在 cache.xml 中以 ha 模式配置 gemfire

0 投票
1 回答
252 浏览

gemfire - Gemfire 8.2.2 3 天后崩溃

我最近升级到GF 822。它运行了 3 天并因以下错误而崩溃。myvmware dot com 没有在支持的产品中列出 gemfire。非常感谢任何帮助。

0 投票
2 回答
333 浏览

java - Apache Geode 和 IBM Java

我们目前正在 Linux 上的几个平台以及不同的 Java 发行版上测试 Apache Geode。使用 IBM Java 时出现了一个问题,即启动和性能都非常(至少可以说)很差。跨系统的配置是相同的,但是当我们尝试在 RedHat 下的 x86 平台上运行它时,我们甚至无法让 Geode 正常启动。

定位器首先启动,但是在 GFSH CLI 界面中没有收到 up 消息,只是一个连续的“。”流。但是通过查看日志可以确定它何时开始并输入 CTRL+C 以便可以继续。

启动服务器会产生类似的问题,但服务器永远不会启动的次数往往更多。如果你最终设法让它启动,经过多次尝试,那么一旦你开始用工作负载给它施加压力,它很可能会崩溃。

以下日志摘录显示了不同类型的错误:


com.ibm.tools.attach.AttachNotSupportedException:在 com.ibm.tools.attach.javaSE.VirtualMachineImpl.attachTarget( VirtualMachineImpl.java:94) 在 com.ibm.tools.attach.javaSE.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:37) 在 ibm.tools.attach.J9AttachProvider.attachVirtualMachine(J9AttachProvider.java:55) 在 com.sun.tools .attach.VirtualMachine.attach(VirtualMachine.java:231) ... Cache Server 进程意外终止,退出状态为 1。有关详细信息,请参阅 /home/geode/server1 中的日志文件。

注意:无法查看日志,因为从未创建过!

线程“主”com.gemstone.gemfire.InternalGemFireError 中的异常:没想到堆栈顶部有 java.lang.StringBuffer。在 com.gemstone.gemfire.internal.Assert.throwError(Assert.java:91) 在 com.gemstone.gemfire.internal.Assert.assertTrue(Assert.java:115) 在 com.gemstone.gemfire.internal.cache.xmlcache .CacheXmlParser.endRegionAttributes(CacheXmlParser.java:1449) 在 com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlParser.endElement(CacheXmlParser.java:3190) 在 com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlParser$DefaultHandlerDelegate .endElement(CacheXmlParser.java:3726) 在 org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) ...


快速浏览了源代码后,似乎 IBM Java 没有得到很好的支持,我认为成功启动定位器的这条消息支持:

Java 版本早于 1.7.0_72。未满足最低系统要求。意外行为可能会导致其他错误。

除了上面的错误,当我们设法让它在其他硬件和操作系统上运行时,性能非常差,事务(TPS)率非常糟糕。

我的问题基本上是,有没有人成功地将 Geode 与 IBM Java 一起使用,如果是,你做了什么让它工作?

请询问是否需要更多信息,谢谢。


好的,这里有更多信息:

  • 使用的平台是 x86 和 z13s(IBM 大型机),并且都运行 RHEL 7.2。两个系统都配置了相同数量的处理器和内存
  • IBM Java, JDK 8 用于两者
  • OpenJDK 和 Oracle Java 的性能相当不错,但 IBM Java 的性能很差。例如,在一项测试中,我们看到 OpenJDK 和 Oracle 大约 10,000 TPS,而 IBM 只有 400。尽管 z13s 上的 IBM Java 比 x86 上的 IBM Java 好一点点
  • Geode 几乎是开箱即用的,对于 IBM z13s,使用以下说明来构建它:https ://github.com/linux-on-ibm-z/docs/wiki/Building-Apache-Geode?cm_mc_uid= 66676540165814848933028&cm_mc_sid_50200000=1484812636
  • 使用的主要配置是 1 个定位器、4 个服务器和 2 个区域,并且 YCSB 基准是驱动程序。还使用了一些其他配置,但性能没有变化
  • 我们还在 z13s 上尝试了最新的孵化 M3(我认为这是最新的),并尝试使用 IBM Java 9 的 beta 版本构建它,但它甚至无法构建

随时询问更多信息,或者我可以尝试通过各种配置/参数更改进行更多测试,谢谢。

0 投票
1 回答
259 浏览

gemfire - 如何将 java 类放入 gemfire 键值结构中

gfsh>put --key=('id':'133abg125') --value=('firstname':'James','lastname':'Gosling') --region=/region --key-class=data .ProfileKey --value-class=data.ProfileDetails

消息:ClassNotFoundException data.ProfileKey 结果:false

0 投票
3 回答
709 浏览

amazon-web-services - 与 AWS 兼容的复制缓存解决方案

我的用例如下:

我们有大约 500 台服务器在一个自动扩展的 EC2 集群中运行,它们需要每秒数百万次访问相同的配置数据(以键/值方式布局)。

配置数据不是很大(1 或 2 GB)并且变化不大(高峰时间每分钟几十次更新/删除/插入)。

延迟对我们来说至关重要,因此需要在运行我们应用程序的每个实例上复制数据并将其保存在内存中。

最终的一致性很好。但是,我们需要确保每次更新都会在某个时候传播。(知道服务器可以随时关闭)跨服务器的更新传播应该可靠且易于设置(我们的服务器不能有静态 IP,或者我们不想走“伪造”的路线在 AWS 上多播等...)

以下是我们过去探索过的解决方案:

  • 使用常规的 java 映射并使用我们定制的系统在集群中传播更新。(显然,它不能很好地扩展)
  • 使用 EhCache 及其复制功能。但是在 EC2 上设置它非常痛苦,而且不知何故不可靠。

以下是我们正在考虑尝试的解决方案:

我想知道这些解决方案中的每一个是否都适用于我们的用例。最终,我可能会遇到每个问题。

这是我到目前为止发现的:

  • Hazelcast 的复制地图在某种程度上是最近的,但仍然有点不可靠(如果缩小,异步更新可能会丢失)
  • 似乎 Geode 最近变得“稳定”了(尽管据说它自 2000 年代初就在开发中)
  • Ignite 看起来很合适,但我不太确定如果我们继续定期添加/删除节点,他们基于 S3 发现的系统将如何工作。

谢谢!

0 投票
1 回答
75 浏览

apache - 如何使用总最大内存属性

在 geode 中创建区域时,您可以指定 --total-max-memory 来限制使用区域条目的内存量。参考:https ://geode.apache.org/docs/guide/tools_modules/gfsh/command-pages/create.html#topic_54B0985FEC5241CA9D26B0CE0A5EA863

我创建了一个 PARTITION_OVERFLOW 类型的区域并设置了总最大内存,我可以看到该属性存在于服务器上该区域的分区属性中,但是当数据量超过总最大内存限制时它确实做到了不会开始将旧条目溢出到磁盘,一段时间后(内存使用量几乎是总最大内存的 10 倍)堆 lru(基于总 jvm 头)启动并开始驱逐条目。

当某个区域达到总最大内存限制时,是否需要执行任何其他设置才能触发驱逐。

0 投票
1 回答
118 浏览

apache - Gemfire 9.0.1 的 GemfireTemplate 解决方法

当前是否有在升级到 Gemfire 9.0.1 时使用 GemfireTemplate 类的解决方法?

升级要求之一是更改所有引用:

com.gemstone.gemfire 到 org.apache.geode

但是 GemfireTemplate 似乎没有相应的 apache geode 子类:http ://docs.spring.io/autorepo/docs/spring-data-gemfire/1.7.0.APACHE-GEODE-EA-SNAPSHOT/api/org/ springframework/data/gemfire/GemfireTemplate.html

是否可以创建一个包装类来执行相同的功能?

0 投票
2 回答
225 浏览

apache - 网络问题后geode客户端无法连接到服务器和定位器

我们的系统出现了一个奇怪的问题。

例如,我们有一个由 2 个节点组成的集群。Geode Locator 在主节点上运行,并且有一个远程节点运行 Geode 客户端。当客户端出现网络问题(丢包)一段时间后,客户端无法连接到Locator(NoAvailableLocatorException)。奇怪的是,即使在网络进入正常状态后,客户端仍然无法连接到定位器,同样的异常,即使在重新启动客户端后也是如此。经过调查,我们发现 Locator 的端口卡在 SYN_RECV 上,所以当我们重新启动 Locator 时,问题似乎消失了。您能否提供任何线索我们如何解决此问题以及为什么服务器端口卡在 SYN_RECV 上,因为我们不想重新启动集群或找出定位器和服务器并重新启动它们中的每一个。