无法在 3 节点 ArangoDB 集群中执行分片

问题描述 投票:0回答:1

我在本地部署了一个 3 节点集群(使用 Docker)并创建了一个集合(noOfShards = 3 且replicationFactor = 1)。但是,当我在其中一个节点中创建文档时,它会在所有三个节点中复制。我预计它会根据我的分片键进行分发。

我不允许创建复制因子为 0 的集合。我的主要目的是根据 shard_key 对集合中的文档进行分片,以便它们均匀分布在 3 个节点中。我真的不关心复制。

知道我在这里做错了什么吗?

arangodb sharding
1个回答
0
投票

我个人认为你所做的是复制,这不是你想要为你的需求做的,你应该做的是分片,这在ArangoDB文档中非常清楚地强调:

https://docs.arangodb.com/3.11/deploy/architecture/data-sharding/


创建一个简单的分片集合

127.0.0.1:8529@_system> db._create("sharded_collection", { "numberOfShards": 3 });

简而言之,它允许您创建在集群中分片的集合,这基本上满足您的要求。

过程非常简单

  1. 设置 ArangoDB 集群(我相信您已经知道如何操作)
  2. 禁用复制或将其设置为 1
  3. 创建Sharded集合(简单教程可以在上面的链接中找到)

此外,我强烈建议您阅读 Arango 集群学习中心 - 从长远来看,这将对您有很大帮助。

https://www.arangodb.com/arangodb-training-center/operations/

© www.soinside.com 2019 - 2024. All rights reserved.