Neo4j集群-“;“不允许采样异常”;当neo4j节点启动时,它是崩溃前的主节点

Neo4j集群-“;“不允许采样异常”;当neo4j节点启动时,它是崩溃前的主节点,neo4j,Neo4j,我有3个neo4j数据库集群。 点头1-主人。 节点2-从节点。 节点3-从节点 Node1由于某种原因崩溃。短时间后,群集检测到并选择新主机。 因此,现在我们有: 节点1-? 节点2-主节点 节点3-从节点 当我启动Node1时,它: 加入群集 然后从主数据库获取新的数据库版本(存储,而不是日志文件) 然后,它在org.neo4j.server.rrd.UnableToSampleExceptionerror上运行 堆栈跟踪: org.neo4j.server.rrd.UnableToSa

我有3个neo4j数据库集群。 点头1-主人。 节点2-从节点。 节点3-从节点

Node1由于某种原因崩溃。短时间后,群集检测到并选择新主机。 因此,现在我们有: 节点1-? 节点2-主节点 节点3-从节点

当我启动Node1时,它:

  • 加入群集
  • 然后从主数据库获取新的数据库版本(存储,而不是日志文件)
  • 然后,它在
    org.neo4j.server.rrd.UnableToSampleException
    error上运行
堆栈跟踪:

org.neo4j.server.rrd.UnableToSampleException
    at org.neo4j.server.rrd.sampler.NodeIdsInUseSampleable.getValue(NodeIdsInUseSampleable.java:47)
    at org.neo4j.server.rrd.RrdSamplerImpl.updateSample(RrdSamplerImpl.java:59)
    at org.neo4j.server.rrd.RrdJob.run(RrdJob.java:43)
    at org.neo4j.server.rrd.ScheduledJob$1.run(ScheduledJob.java:41)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)
日志:


  • 有时,错误循环在一段时间(10-15分钟)后停止,服务器正常启动
  • 如果我重新启动neo4j,一切正常

任何想法,这可能是什么?

根异常没有被记录。您必须调试nodeidsinusesamplable类。就我而言,我得到了以下例外:

java.lang.IllegalStateException: XaDataSourceManager has been shut down.
    at org.neo4j.kernel.impl.transaction.XaDataSourceManager.getXaDataSource(XaDataSourceManager.java:211)
    at org.neo4j.kernel.impl.transaction.XaDataSourceManager.getNeoStoreDataSource(XaDataSourceManager.java:225)
    at org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource.getNumberOfIdsInUse(NioNeoDbPersistenceSource.java:72)
    at org.neo4j.kernel.impl.core.NodeManager.getNumberOfIdsInUse(NodeManager.java:689)
    at org.neo4j.server.rrd.sampler.NodeIdsInUseSampleable.getValue(NodeIdsInUseSampleable.java:43)
    at org.neo4j.server.rrd.RrdSamplerImpl.updateSample(RrdSamplerImpl.java:59)
    at org.neo4j.server.rrd.RrdJob.run(RrdJob.java:43)
    at org.neo4j.server.rrd.ScheduledJob$1.run(ScheduledJob.java:41)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)

在我的例子中,调用shutdown后发生异常。我想这对你来说可能是一样的。您只需确定谁在调用shutdown。

可能是文件系统权限问题?RRD试图保存其数据?文件系统具有正确的权限。Neo4j通过自己的用户运行。我不知道是什么。但它是可复制的。每当主服务器崩溃然后返回集群时,我们都会看到这样的错误。但是,这只是第一次。
java.lang.IllegalStateException: XaDataSourceManager has been shut down.
    at org.neo4j.kernel.impl.transaction.XaDataSourceManager.getXaDataSource(XaDataSourceManager.java:211)
    at org.neo4j.kernel.impl.transaction.XaDataSourceManager.getNeoStoreDataSource(XaDataSourceManager.java:225)
    at org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource.getNumberOfIdsInUse(NioNeoDbPersistenceSource.java:72)
    at org.neo4j.kernel.impl.core.NodeManager.getNumberOfIdsInUse(NodeManager.java:689)
    at org.neo4j.server.rrd.sampler.NodeIdsInUseSampleable.getValue(NodeIdsInUseSampleable.java:43)
    at org.neo4j.server.rrd.RrdSamplerImpl.updateSample(RrdSamplerImpl.java:59)
    at org.neo4j.server.rrd.RrdJob.run(RrdJob.java:43)
    at org.neo4j.server.rrd.ScheduledJob$1.run(ScheduledJob.java:41)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)