重新启动分布式OrientDB集群中的节点后,插入(JavaAPI)失败

mxns

两节点分布式OrientDB系统,嵌入式模式,使用TCP-IP进行节点发现。该类event在四个群集上分片。重新启动一个节点后,该节点上恰好有一半的插入失败,并显示错误消息:

INFO Local node 'orientdb-lab-node2' is not the owner for cluster 'event_1' (it is 'orientdb-lab-node1'). Reloading distributed configuration for database 'test-db' [ODistributedStorage]

和堆栈跟踪:

com.orientechnologies.orient.server.distributed.ODistributedConfigurationChangedException: Local node 'orientdb-lab-node2' is not the owner for cluster 'event_1' (it is 'orientdb-lab-node1')
    DB name="test-db"
    DB name="test-db"
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.throwSerializedException(OChannelBinaryAsynchClient.java:437)
    at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:388)
    at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:270)
    at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:162)
    at com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:2138)
    at com.orientechnologies.orient.client.remote.OStorageRemote$6.execute(OStorageRemote.java:548)
    at com.orientechnologies.orient.client.remote.OStorageRemote$6.execute(OStorageRemote.java:542)
    at com.orientechnologies.orient.client.remote.OStorageRemote$1.execute(OStorageRemote.java:164)
    at com.orientechnologies.orient.client.remote.OStorageRemote.baseNetworkOperation(OStorageRemote.java:235)
    at com.orientechnologies.orient.client.remote.OStorageRemote.asyncNetworkOperation(OStorageRemote.java:156)
    at com.orientechnologies.orient.client.remote.OStorageRemote.createRecord(OStorageRemote.java:528)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeSaveRecord(ODatabaseDocumentTx.java:2095)
    at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveNew(OTransactionNoTx.java:246)
    at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:179)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2597)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:103)
    at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1802)
    at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1793)
    at lab.orientdb.OrientDbClient.insert(OrientDbClient.java:10)
    at lab.orientdb.Main.main(Main.java:24)

这是从node1看到的集群配置:

节点1和2正在运行,每个节点上有10个插入

CLUSTERS (collections)
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+
|#   |NAME       |  ID|CLASS    |CONFLICT-STRATEGY|COUNT|   OWNER_SERVER   |   OTHER_SERVERS    |AUTO_DEPLOY_NEW_NODE|
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+
|5   |event      |  17|event    |                 |    8|orientdb-lab-node2|[orientdb-lab-node1]|        true        |
|6   |event_1    |  18|event    |                 |    3|orientdb-lab-node1|[orientdb-lab-node2]|        true        |
|7   |event_2    |  19|event    |                 |    2|orientdb-lab-node1|[orientdb-lab-node2]|        true        |
|8   |event_3    |  20|event    |                 |    7|orientdb-lab-node2|[orientdb-lab-node1]|        true        |
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+
|    |TOTAL      |    |         |                 |   20|                  |                    |                    |
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+

节点2已停止

CLUSTERS (collections)
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+
|#   |NAME       |  ID|CLASS    |CONFLICT-STRATEGY|COUNT|   OWNER_SERVER   |   OTHER_SERVERS    |AUTO_DEPLOY_NEW_NODE|
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+
|5   |event      |  17|event    |                 |    8|orientdb-lab-node1|[orientdb-lab-node2]|        true        |
|6   |event_1    |  18|event    |                 |    3|orientdb-lab-node1|[orientdb-lab-node2]|        true        |
|7   |event_2    |  19|event    |                 |    2|orientdb-lab-node1|[orientdb-lab-node2]|        true        |
|8   |event_3    |  20|event    |                 |    7|orientdb-lab-node1|[orientdb-lab-node2]|        true        |
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+
|    |TOTAL      |    |         |                 |   20|                  |                    |                    |
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+

节点2重新启动,成功插入5次,失败5次

CLUSTERS (collections)
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+
|#   |NAME       |  ID|CLASS    |CONFLICT-STRATEGY|COUNT|   OWNER_SERVER   |   OTHER_SERVERS    |AUTO_DEPLOY_NEW_NODE|
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+
|5   |event      |  17|event    |                 |   11|orientdb-lab-node2|[orientdb-lab-node1]|        true        |
|6   |event_1    |  18|event    |                 |    3|orientdb-lab-node1|[orientdb-lab-node2]|        true        |
|7   |event_2    |  19|event    |                 |    2|orientdb-lab-node1|[orientdb-lab-node2]|        true        |
|8   |event_3    |  20|event    |                 |    9|orientdb-lab-node2|[orientdb-lab-node1]|        true        |
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+
|    |TOTAL      |    |         |                 |   25|                  |                    |                    |
+----+-----------+----+---------+-----------------+-----+------------------+--------------------+--------------------+

任何提示或建议表示赞赏。谢谢。

mxns

此问题已在OrientDB 2.2.13-SNAPSHOT上解决,因此在发行版本中应该很快就可以了:https : //github.com/orientechnologies/orientdb/issues/6897

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

重新启动elasticsearch节点

分布式系统中的启动器节点

更改文件后重新启动节点

如何在不启动每个节点依赖性的情况下启动分布式Erlang应用程序?

设置分布式ipython / ipyparallel MPI集群

如何在Sidekiq中重新启动失败的作业?

在分布式Hadoop集群中使用ENV变量

如何杀死Kafka集群中的分布式工作人员?

Phoenix通道的套接字在分布式集群环境中不断关闭

分布式Tensorflow:内部错误-Blas GEMM启动失败

在Hadoop或分布式计算框架中管理多个集群

节点重新启动后,Corda RPC客户端无法与Corda节点重新连接

MediaRecorder.stop()失败:重新启动后-1007

关闭电源后重新启动hadoop HA群集节点后,名称节点失败

重新启动后Kubernetes集群无法运行

重新启动后,MariaDB Galera节点关闭

分段故障后重新启动Erlang节点

重新启动后,图标从启动器中消失

失败后重新启动合并复制

无法设置psuedo分布式hadoop集群

使用MarkLogic构建集群时的分布式处理

脚本文件中的错误,如果我在插入后重新启动标识符列

重新启动后,为什么便携式应用程序图标从Unity启动器中消失了?

更新后重新启动

在Impala Shell中重新启动失败的脚本查询

Tensorflow + LSF。LSF集群上的分布式张量流

分布式 Tensorflow 重载模型失败

伪分布式模式启动HBase失败抛出“Failed building RegionServer”

在android中重新启动后Kivy服务未启动