如何在Arangodb中仅用2或3台机器提供HA

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

我正在按照文档https://github.com/arangodb/arangodb/blob/8f79d1c187ec18e803dd095baa0ab0f9b04d38a2/Documentation/Books/Manual/Deployment/README.md进行集群设置,似乎除非我们使用Mesos、DC/OS cluster 太笨拙(需要手动二进制编译源代码)。我尝试使用最小配置来设置 Apache Mesos,但最小配置非常昂贵!每月费用约为 1300 美元(许多 xlarge ec2 实例)。所以,就这样吧。

是否可以仅通过 arangodb 设置中的配置更改来设置 HA?我想要的只是运行至少 2 台机器,复制(同步或异步)数据并将客户端连接到负载均衡器后面。是否可以。你有什么推荐吗。我发现 https://www.arangodb.com/2016/12/starting-arangodb-cluster-easy-way/ 但它是实验性的。不想在生产环境中使用实验件。 目前,我们在 3 个 arangodb 集合中托管约 4000 万份文档。每小时都会分析这 4000 万份文档。

arangodb
1个回答
1
投票

不仅仅适用于配置更改。如果您想实现 HA,则必须在 2 个机器上设置集群。但让我在这里提出一个你应该首先记住的问题。

集群配置,即数据库布局、集合、分片复制等需要依赖复制状态机; arangodb 的意思是“代理机构”。它是通过RAFT共识协议来实现的。 RAFT 和熟悉的复制状态机在概念上要求奇数个实例或机器。因此,您可以在具有 3 个代理的 2 个盒子上完美安装 arangodb,其中 2 个代理必须以某种方式重合才能驻留在一个盒子上,但这在某种程度上消除了任意机器发生故障时的附加安全网。只要您的 2 台机器是带有单个代理的机器,它就会继续提供数据和 Foxx 应用程序服务,但会失败。如果另一位代理出现故障,系统将停止运行,直到其他 2 名代理恢复为止。 话虽如此,这就是在两台机器上执行此操作的方法:

  1. 重新设计您的集合并考虑分片。
  2. 备份您的数据库。
  3. 设置新集群。
  4. 从 1 开始实施您的设计。
  5. 将您的数据和应用程序恢复到集群中。

步骤 3 是您最感兴趣的步骤。您将需要 3 个代理、2 个协调器和 2 个数据库服务器的配置文件。如果您想移动到 3 个盒子,显然您需要相应地增加数据库服务器和协调器的数量。配置文件将指示 7 个服务的专用数据库目录;一台机器上有 4 个,另一台机器上有 3 个。

您需要在启动时启动另一台计算机上的 1 个服务和 3 个服务上的所有 4 个服务。有关配置文件的详细信息,请查看集群 arangodb 的社区 slack 频道。

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