Q: orientdb 分布式问题
Q: orientdb distrubuted issues
使用 orientdb v2.1.13
我从 v2.1.0 导入了数据库,想设置 3 个节点的集群。在每个节点重新启动时(我测试了它是如何工作的)它刷新了整个数据库并将其从一个节点同步回来(即使没有插入,因为它还没有生效)并且它每秒同步 1MB 的压缩数据。对于 48GB db(8GB 压缩),所以每次都需要很长时间。有没有办法解决这个问题?
默认分布-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 连接。服务器之间有千兆位 link 并且它们都是具有 64G ram 和 ssd 存储的新机器。
我们还尝试将 orientdb 包含在 32G ram 中,并且在每次重建索引时它几乎占用所有可用的 ram。我们尝试了很多不同的 heap/diskcache 组合,但没有成功。对此有何建议?
此外,由于此设置非常糟糕,它以分布式设置开始,然后移至单个节点,因此 "list clusters" 中打印了很多集群,我应该 freeze/remove 未使用的集群吗?
我尝试修复数据库但没有成功:
orientdb {db=DB}> repair database
Repair of graph 'remote:localhost/DB' is started ...
Scanning 6596654 edges...
Error: java.lang.NullPointerException
欢迎提出任何建议。事情是最好的设置方案,最好的节点数量。我考虑过分片可能是为了分发索引
谢谢!
对于 2.1.13 版,当您重新启动节点时,它会刷新整个数据库并从一个节点同步回来。
对于 2.2 版,同步将是增量的。
关于您的集群情况:将所有这些集群都包含在列表中没有问题,即使它们未被使用,但如果您愿意,可以使用 drop cluster <cluster-name>
删除它们。只是要注意里面没有记录,否则只要集群就会被删除。
请参考这个http://orientdb.com/docs/last/Console-Command-Drop-Cluster.html
使用 orientdb v2.1.13
我从 v2.1.0 导入了数据库,想设置 3 个节点的集群。在每个节点重新启动时(我测试了它是如何工作的)它刷新了整个数据库并将其从一个节点同步回来(即使没有插入,因为它还没有生效)并且它每秒同步 1MB 的压缩数据。对于 48GB db(8GB 压缩),所以每次都需要很长时间。有没有办法解决这个问题? 默认分布-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 连接。服务器之间有千兆位 link 并且它们都是具有 64G ram 和 ssd 存储的新机器。 我们还尝试将 orientdb 包含在 32G ram 中,并且在每次重建索引时它几乎占用所有可用的 ram。我们尝试了很多不同的 heap/diskcache 组合,但没有成功。对此有何建议? 此外,由于此设置非常糟糕,它以分布式设置开始,然后移至单个节点,因此 "list clusters" 中打印了很多集群,我应该 freeze/remove 未使用的集群吗?
我尝试修复数据库但没有成功:
orientdb {db=DB}> repair database
Repair of graph 'remote:localhost/DB' is started ...
Scanning 6596654 edges...
Error: java.lang.NullPointerException
欢迎提出任何建议。事情是最好的设置方案,最好的节点数量。我考虑过分片可能是为了分发索引
谢谢!
对于 2.1.13 版,当您重新启动节点时,它会刷新整个数据库并从一个节点同步回来。 对于 2.2 版,同步将是增量的。
关于您的集群情况:将所有这些集群都包含在列表中没有问题,即使它们未被使用,但如果您愿意,可以使用 drop cluster <cluster-name>
删除它们。只是要注意里面没有记录,否则只要集群就会被删除。
请参考这个http://orientdb.com/docs/last/Console-Command-Drop-Cluster.html