首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache和IBM

Apache和IBM
EN

Stack Overflow用户
提问于 2017-01-18 11:35:24
回答 2查看 353关注 0票数 0

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

第一次启动定位器,但是在GFSH接口中没有接收到up消息,只是一个连续的'.‘流。但是,通过查看日志,可以确定何时启动并输入CTRL+C,以便可以继续。

启动服务器会产生类似的问题,但服务器永远不会启动的次数比通常多。如果您最终成功地让它启动,经过多次尝试,那么一旦您开始使用工作负载来强调它,它很可能会崩溃。

来自日志的下列摘录显示不同类型的错误:

com.ibm.tools.attach.AttachNotSupportedException:目标不再适用于com.ibm.tools.attach.javaSE.VirtualMachineImpl.tryAttachTarget(VirtualMachineImpl.java:369) at com.ibm.tools.attach.javaSE.VirtualMachineImpl.attachTarget(VirtualMachineImpl.java:94) at com.ibm.tools.attach.javaSE.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:37) at ibm.tools.attach.J9AttachProvider.attachVirtualMachine(J9AttachProvider.java:55) at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:231) ...缓存服务器进程意外终止,退出状态为1。有关详细信息,请参阅/home/geode/ Server 1中的日志文件。

注意:不可能查看日志,因为从未创建日志!

线程"main“com.gemstone.gemfire.InternalGemFireError中的异常:没有期望堆栈顶部有一个java.lang.StringBuffer。在com.gemstone.gemfire.internal.Assert.throwError(Assert.java:91) at com.gemstone.gemfire.internal.Assert.assertTrue(Assert.java:115) at com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlParser.endRegionAttributes(CacheXmlParser.java:1449) at com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlParser.endElement(CacheXmlParser.java:3190) at com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlParser$DefaultHandlerDelegate.endElement(CacheXmlParser.java:3726)在org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown来源)。

快速查看了源代码之后,IBM Java似乎没有得到很好的支持,我认为,在定位器的成功启动中,这条消息支持这样的观点:

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

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

我的问题基本上是,是否有人在IBM中成功地使用了Geode,如果是的话,您做了什么才能使它工作呢?

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

好吧,这里有更多的信息:

  • 使用的平台是x86和z13s (IBM大型机),它们都运行着RHEL7.2。这两个系统都配置了相同数量的处理器和内存。
  • 在这两种情况下都使用了IBM Java,JDK 8。
  • OpenJDK和Oracle的性能都很好,但是IBM的性能非常差。例如,在一个测试中,OpenJDK和Oracle的TPS约为10,000个,而IBM仅为400个。虽然在z13s上IBM要好于x86上的IBM,但这是一个很小的因素
  • Geode几乎是在开箱即用的情况下运行的,对于IBM z13s,使用了以下说明来构建它:50200000=1484812636
  • 使用的主要配置是1个定位器、4个服务器和2个区域,驱动程序是YCSB基准。还使用了其他一些配置,但性能没有发生任何变化。
  • 我们还在z13s上尝试了最新的孵化z13s(我想这是最新的),并尝试用一个测试版的IBM 9构建它,但它甚至没有构建。

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

EN

回答 2

Stack Overflow用户

发布于 2017-01-24 18:01:31

为了缩小这个问题的范围,如果是IBM或gfsh,请您尝试以编程方式启动缓存服务器吗?例如,以下内容将使用嵌入式定位器启动服务器:

代码语言:javascript
复制
CacheFactory cf = new CacheFactory();
cf.set("start-locator", "localhost[10334]");
Cache cache = cf.create();
cache.addCacheServer();

从其他进程中,您可以指向上面的定位器。

代码语言:javascript
复制
CacheFactory cf = new CacheFactory();
cf.set("locators", "localhost[10334]");
Cache cache = cf.create();
cache.addCacheServer();
票数 0
EN

Stack Overflow用户

发布于 2017-07-28 16:50:48

我遇到了同样的问题;我怀疑Geode (目前)与官方的Apache实现( IBM使用的)不兼容。

我已经提交了一个JIRA问题(https://issues.apache.org/jira/browse/GEODE-3306),其中包含了我的小调查结果。

现在给你找个解决办法:

  1. 删除cache.xml文件中的非必需(“可忽略”)空格(并牺牲可读性)。
  2. 下载Geode兼容的Oracle内部Xerces实现(http://central.maven.org/maven2/com/sun/xml/parsers/jaxp-ri/)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41718398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档