【问题标题】:CouchBase 2.5 2 nodes in replica: 1 node fail: the service is no more availableCouchBase 2.5 副本中有 2 个节点:1 个节点失败:服务不再可用
【发布时间】:2014-08-16 01:03:00
【问题描述】:

我们正在用一个带有一个副本的两节点集群测试 Couchbase。

当我们在一个节点上停止服务时,另一个节点不会响应,直到我们重新启动服务或手动故障转移停止的节点。

当一个节点暂时不可用时,有没有办法维护好节点的服务?

【问题讨论】:

  • * 你的测试代码是什么样的?
  • @Paddy:我没有编写测试代码,只是我提出了 2 个节点,我在一个节点中编写了一些文档,在第二个节点中编写了其他文档(通过网络面板),然后我尝试看看如果我在一个节点上停止服务会发生什么。
  • 您无法确定该文档的位置,无论您使用哪个节点的 UI 输入都无关紧要。很可能所有 3 个文档都在已关闭的节点上。 * 使用 1000 个文档进行测试。 * 或者您可以使用 cbc hash 命令查看该文档的位置。手册中的这一部分解释得更好:docs.couchbase.com/couchbase-manual-2.5/cb-admin/#vbuckets

标签: replication couchbase failover


【解决方案1】:

如果一个节点出现故障,那么为了激活另一个节点上的副本,您需要手动对其进行故障转移。如果您希望这自动发生,那么您可以启用自动故障转移,但为了使用该功能,我很确定您必须至少有一个三节点集群。当您想重新添加故障节点时,您只需将其重新添加到集群并重新平衡即可。

【讨论】:

  • 是的,因此故障转移过程有效。但是,如果服务器没有崩溃,但整整一分钟都不可用,这是否意味着集群整整一分钟都不可用?我是否应该在 30 秒内配置自动故障转移,然后在故障转移后手动重新添加服务器(这不是最佳选择)?对于这些情况有更好的方法吗?
  • 只有宕机的服务器不可用。集群中的其余节点将继续提供数据。我还建议在您的生产环境中使用自动故障转移,因为我同意手动故障转移服务器并不是最佳选择。我相信这是最好的选择。
  • 我所看到的情况并非如此:在 2 个节点的配置中,如果一个节点不可用,另一个节点也不响应:对于它的活动文档也是如此。
  • 不应该是这样,所以我猜是客户端问题。您可能想打开一个单独的问题并发布您的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-26
  • 2013-10-16
  • 2016-02-01
相关资源
最近更新 更多