我正面临着空袭的问题。
我有两个节点群集,其中包含IP 192.168.1.2
和192.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
。
答案 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作为心跳。