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机器互不通信?
只需确保在心跳配置中更改多播地址和/或端口,这样两个节点就不会尝试相互发送心跳.
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
}