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

时间:2018-10-23 06:34:36

标签: arangodb sharding

我已经在本地(使用Docker)中部署了3个节点的群集,并创建了一个集合(noOfShards = 3和ReplicationFactor = 1)。但是,当我在一个节点中创建文档时,该文档将在所有三个节点中复制。我期望基于我的分片密钥来分发它。

不允许创建复制因子为0的集合。我的主要目的是基于shard_key将集合中的文档分片,以使其均匀分布在3个节点中。我真的不关心复制。

你知道我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

我个人认为您所做的是复制,这不是您要满足的要求,您应该做的是分片,并且在ArangoDB文档中非常清楚地强调了这一点:

https://docs.arangodb.com/3.2/Manual/Administration/Sharding/


创建一个简单的分片集合

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

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

过程非常简单

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

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

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