问:orientdb distrubuted问题

时间:2016-03-29 15:27:06

标签: orientdb

使用orientdb v2.1.13

我从v2.1.0导入了数据库,想要设置3个节点的集群。在每个节点重新启动(我测试它是如何工作的)它刷新整个数据库并从一个节点同步它(即使没有插入,因为它还没有活动)并且它每秒同步1MB的压缩数据。对于48GB db(8GB压缩),所以每次都需要很长时间。有办法解决这个问题吗? 默认-distribuded-db.config.json:

{
  "autoDeploy": true,
  "hotAlignment": false,
  "executionMode": "undefined",
  "readQuorum": 1,
  "writeQuorum": 2,
  "failureAvailableNodesLessQuorum": false,
  "readYourWrites": true,
  "servers": {
    "*": "master"
  },
  "clusters": {
    "internal": {
    },
    "index": {
    },
    "*": {
      "servers": ["<NEW_NODE>"]
    }
  }
}

服务器通过hazelcast中的tcp-ip连接。服务器之间存在千兆位链接,所有这些都是具有64G ram和ssd存储的新机器。 我们还尝试在32G ram中包含orientdb,并且在每个reindex上它几乎占用了所有可用的ram。我们尝试了很多不同的堆/ diskcache组合,但没有运气。对此有何建议? 此外,由于此设置非常糟糕,并且它开始作为分布式设置然后被移动到单个节点,在“列表集群”中打印了很多集群,如果我冻结/删除未使用的集群?

我试图修复数据库,但没有运气:

orientdb {db=DB}> repair database  
Repair of graph 'remote:localhost/DB' is started ...
Scanning 6596654 edges...

Error: java.lang.NullPointerException

这里的任何建议都更受欢迎。事物谎言最佳设置方案,最佳节点数。我想分片可能会分发索引

谢谢!

2 个答案:

答案 0 :(得分:0)

在重新启动节点时使用版本2.1.13,它会刷新整个数据库并从一个节点同步它。 对于2.2版,同步将是增量式的。

答案 1 :(得分:0)

关于您的群集情况:即使它们未被使用,列表中的所有群集也没有问题,但是如果您愿意,可以使用drop cluster <cluster-name>删除它们。请注意,它们内部没有记录,或者它们只要集群就会被删除。

请参阅此http://orientdb.com/docs/last/Console-Command-Drop-Cluster.html