使用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
这里的任何建议都更受欢迎。事物谎言最佳设置方案,最佳节点数。我想分片可能会分发索引
谢谢!
答案 0 :(得分:0)
在重新启动节点时使用版本2.1.13,它会刷新整个数据库并从一个节点同步它。 对于2.2版,同步将是增量式的。
答案 1 :(得分:0)
关于您的群集情况:即使它们未被使用,列表中的所有群集也没有问题,但是如果您愿意,可以使用drop cluster <cluster-name>
删除它们。请注意,它们内部没有记录,或者它们只要集群就会被删除。
请参阅此http://orientdb.com/docs/last/Console-Command-Drop-Cluster.html