【发布时间】:2020-07-31 14:45:55
【问题描述】:
我有 3 个节点的 ArangoDB 集群。第一个有 service.config :
> ExecStart=/usr/bin/arangodb \
--starter.data-dir=/var/lib/arangodb3/cluster \
--server.storage-engine=rocksdb \
--auth.jwt-secret=/etc/arangodb3/arangodb.secret \
--agents.agency.supervision-grace-period=30 \
--log.file=true \
--log.dir=/var/log/arangodb3/cluster \
--log.verbose
TimeoutStopSec=60
另外两个节点有:
> ExecStart=/usr/bin/arangodb \
--starter.data-dir=/var/lib/arangodb3/cluster \
--server.storage-engine=rocksdb \
--auth.jwt-secret=/etc/arangodb3/arangodb.secret \
--agents.agency.supervision-grace-period=30 \
--starter.join arangodb01.domain.com \
--log.file=true \
--log.dir=/var/log/arangodb3/cluster \
--log.verbose
它工作正常,直到任何节点停止。在一个节点停止后,不再处理任何请求。我只在“[root@arangodb01 ~]# journalctl -u arangodb”中看到:
>We're master, try to remain it component=arangodb\
>Master changed callback from [arangobd01 IP]:57722 component=arangodb\
>Received GET /hello request from [arangobd02 IP]:38436 component=arangodb
集群中只有2个节点可以工作吗?
【问题讨论】:
-
我找到了集群失败的原因。一些分片没有正确迁移到名称为“DBServer0001-02”的健康节点,并停留在名称为“PRMR-8dd447ee-84ac-4c8f-85b6-2117377b8c7e”的领导者上。如果我在“健康”分片中询问 p,我得到了正常答案,如果我从“坏”分片中询问一些信息,我得到“查询:查询执行中止”。有谁知道如何处理像“s50140107 PRMR-8dd447ee-84ac-4c8f-85b6-2117377b8c7e no follower”这样的碎片?
-
在我的情况下,这是关闭节点,但分片没有从它移动到任何其他服务器:“PRMR-8dd447ee-84ac-4c8f-85b6-2117377b8c7e”:{“时间戳”:“2020 -08-03T12:58:20Z”、“SyncStatus”:“SHUTDOWN”、“Status”:“FAILED”、“Host”:“”、“ShortName”:“DBServer0003”、“Engine”:“”、“版本” “:”,“SyncTime”:“2020-08-03T12:57:50Z”,“LastAckedTime”:“2020-08-03T12:57:50Z”,“端点”:“”,“角色”:“DBServer ", "CanBeDeleted": false
-
也注意到,在健康状态下,有些集合没有follower节点,可以吗?
标签: arangodb