aerospike客户端和服务器

时间:2016-01-14 06:33:49

标签: node.js client aerospike

我正面临着空袭的问题。

我有两个节点群集,其中包含IP 192.168.1.2192.168.1.3

我的aerospike nodejs客户端配置了192.168.1.2,但是当我重新启动此节点时。那么我的客户端无法与群集连接。

问题1 :我应该在客户端添加多重IP吗?

问题2 :如果我需要添加多重IP,那么当我将另一个节点添加到群集中时会发生什么?我必须编辑我的客户端配置吗?

问题3 :假设我添加第3个节点,其中ip为:192.168.1.4。步骤或将此节点添加到此群集中的步骤是什么?我需要编辑每个现有的节点配置文件并添加mesh-seed-address-port 192.168.1.4 3002

注意:我的aerospike配置了默认配置。我刚刚添加了mesh-seed-address-port 192.168.1.2 3002&每个节点上的mesh-seed-address-port 192.168.1.3 3002

1 个答案:

答案 0 :(得分:3)

您可以提供两个IP地址。当一个节点关闭时,客户端将在连接时超时,并尝试其他IP地址。它只需要一个成功的连接来“种子”集群(这意味着它在那个点上学习了其他节点和分区表),所以它在第一个工作之后停止。

var config = {
  hosts: [
    { addr: '192.168.1.2', port: 3000 },
    { addr: '192.168.1.3', port: 3000 }
  ]
}

对于较大的群集,人们通常会设置名称服务器(例如BIND)并使用循环法提供其中一个IP。这允许您将主机名作为地址,这是一种更清洁的方法。名称服务器允许您延迟添加和删除节点IP,而不必太担心。

对于(3),您可以提供多个mesh-seed-address-port行,这样如果一个行不可用,您仍然可以将一个节点添加到群集中。请查看Mesh (Unicast) Heartbeat以获取更多信息。新节点需要位于mode mesh并且具有明确的IP address。如果你 没有使用网格物体,最好使用multicast作为心跳。