如何在同一个L2网络上创建两个Aerospike Clusters

3 redhat iptables subnet aerospike aerospike-loader

我正在使用两个aerospike集群(每个集群只有一个节点/机器).

由于两台机器都在同一个局域网上,因此它们会尝试相互连接以尝试形成单个集群.因此,我收到错误(插入记录时):

Error: (11) AEROSPIKE_ERR_CLUSTER
Run Code Online (Sandbox Code Playgroud)

所以在我的ubuntu设置(两台机器中的一台)上我使用cmd阻止了端口9918:

ufw block 9918
Run Code Online (Sandbox Code Playgroud)

在阻止cmd之后,aerospike集群开始工作(我能够插入记录).

有什么方法可以避免同一局域网上的两台Aerospike机器互不通信?

Meh*_*her 5

只需确保在心跳配置中更改多播地址和/或端口,这样两个节点就不会尝试相互发送心跳.

heartbeat { mode multicast # Send heartbeats using Multicast address 239.1.99.2 # multicast address port 9918 # multicast port interval 150 # Number of milliseconds between heartbeats timeout 10 # Number of heartbeat intervals to wait # before timing out a node }

或者,您也可以切换到模式网格,并且在mesh-see-address-port列表中只有节点本身:

heartbeat { mode mesh # Send heartbeats using Mesh (Unicast) protocol port 3002 # port on which this node is listening to # heartbeat mesh-seed-address-port 192.168.1.100 3002 # IP address for seed node in the cluster # This IP happens to be the local node interval 150 # Number of milliseconds between heartbeats timeout 10 # Number of heartbeat intervals to wait before # timing out a node }

  • 是的,确保他们不会互相发送心跳.您也可以切换到模式网格,并且只在mesh-see-address-port中拥有节点本身.我将在上面的回复中添加一个示例. (3认同)