OrientDB"移动现有数据库时出错"

时间:2015-10-09 17:29:56

标签: docker orientdb

我尝试使用docker设置OrientDB分布式配置。但是我在启动第二个节点时遇到错误 -

  

2015-10-09 17:14:14:066 WARNI   [node1444321499719] - > [[node1444321392311]]请求部署   数据库' testDB'在本地服务器上... [OHazelcastPlugin] 2015-10-09   17:14:14:117 INFO [node1444321499719]< - [node1444321392311]收到了   更新状态node1444321499719.testDB = SYNCHRONIZING   [OHazelcastPlugin] 2015-10-09 17:14:14:119 INFO   [node1444321499719]< - [node1444321392311]收到更新后的状态   node1444321392311.testDB = SYNCHRONIZING [OHazelcastPlugin] 2015-10-09   17:14:15:935 WARNI [node1444321499719]移动现有数据库   ' TESTDB'位于' / orientdb / databases / testDB'至   ' / orientdb /数据库/../备份/数据库/ TESTDB'并获得一份新的副本   来自远程节点... [OHazelcastPlugin] 2015-10-09 17:14:15:936 SEVER   [node1444321499719]错误移动现有数据库' testDB'位于   in' / orientdb / databases / testDB'至   ' / orientdb /数据库/../备份/数据库/ TESTDB&#39 ;.试着移动   手动数据库目录并重试   [OHazelcastPlugin] [node1444321499719]启动分布式错误   插入   com.orientechnologies.orient.server.distributed.ODistributedException:   移动现有数据库' testDB'位于   ' / orientdb /数据库/ TESTDB'至   ' / orientdb /数据库/../备份/数据库/ TESTDB&#39 ;.试着移动   手动数据库目录并重试           在com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.backupCurrentDatabase(OHazelcastPlugin.java:1007)           在com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.requestDatabase(OHazelcastPlugin.java:954)           在com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.installDatabase(OHazelcastPlugin.java:893)           at com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.installNewDatabases(OHazelcastPlugin.java:1426)           在com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.startup(OHazelcastPlugin.java:184)           在com.orientechnologies.orient.server.OServer.registerPlugins(OServer.java:979)           在com.orientechnologies.orient.server.OServer.activate(OServer.java:346)           在com.orientechnologies.orient.server.OServerMain.main(OServerMain.java:41)

如果我没有使用docker启动orientdb群集,我就不会遇到此错误。 我也可以在容器中移动它

  

[root @ 64f6cc1eba61 orientdb] #mv -v / orientdb / databases / testDB   /orientdb/databases/../backup/databases/testDB   ' / orientdb /数据库/ TESTDB' - >   ' / orientdb /数据库/../备份/数据库/ TESTDB'   ' /orientdb/databases/testDB/distributed-config.json' - >   ' / orientdb /数据库/../备份/数据库/ TESTDB /分布式config.json'   删除' /orientdb/databases/testDB/distributed-config.json'去除   目录:' / orientdb / databases / testDB' [root @ 64f6cc1eba61 orientdb]#   ls -l /orientdb/databases/../backup/databases/testDB总计4   -rw-R - R--。 1 root root 455 Oct 9 11:32 distributed-config.json [root @ 64f6cc1eba61 orientdb]#

我正在使用OrientDB版本2.1.3

1 个答案:

答案 0 :(得分:0)

报告并修复了这个问题:

https://github.com/orientechnologies/orientdb/issues/4891

设置" distributed.backupDirectory'变量到特定目录,问题应该消失。

顺便说一句,在docker中分布的运行东方是我们目前的经验: - Docker还不支持多播,你可以解决它,但很痛苦。但主要问题是: - Docker在重启时不会重复使用ip地址,因此容器重启会给它一个新的ip地址,这会让你的群集耗费大量时间。

我们放弃使用与docker一起分发的东方,直到docker在两个问题上得到修复(我相信它都在路线图上)。

如果您遇到其他情况,我很高兴听到您的想法。