首页 > 解决方案 > ArangoDB 集群在一个节点故障后停止

问题描述

我有 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 个节点在集群中工作,是否可以工作?

UPD:我面临分片迁移问题/这是我的集群的问题坏碎片

标签: arangodb

解决方案


最后我找到了“坏”碎片的原因。对于您在集群中创建的每个集合,请检查集合信息部分中的“replicationFactor”。默认情况下它是 1,如果你在 API 的帮助下创建它,它是“replicationFactor: (cluster only)”


推荐阅读