我正在使用两个 aerospike 集群(每个集群仅包含一个节点/机器)。
由于两台计算机位于同一 LAN 上,因此它们尝试相互连接以形成单个集群。因此,我收到错误(插入记录时):
Error: (11) AEROSPIKE_ERR_CLUSTER
因此,在我的 ubuntu 设置(两台机器之一)上,我使用 cmd 阻止了端口 9918:
ufw block 9918
在 block cmd之后,aerospike集群开始工作(我能够插入记录)。
有什么更好的方法可以避免同一 LAN 上的两台 Aerospike 计算机无法相互通信?
最佳答案
只需确保更改心跳配置中的多播地址和/或端口,以便两个节点不会尝试相互发送心跳。
心跳{
modemulticast # 使用组播发送心跳
地址 239.1.99.2 # 多播地址
port 9918 # 组播端口
Interval 150 # 心跳之间的毫秒数
timeout 10 # 等待的心跳间隔数
# 在节点超时之前
}
或者,您也可以切换到网格模式,并在网格查看地址端口列表中仅包含节点本身:
心跳{
mode mesh # 使用Mesh(单播)协议(protocol)发送心跳
port 3002 # 该节点正在监听的端口
# 心跳
mesh-seed-address-port 192.168.1.100 3002 # 集群中种子节点的IP地址
# 这个IP恰好是本地节点
Interval 150 # 心跳之间的毫秒数
timeout 10 # 之前等待的心跳间隔数
# 节点超时
}
关于redhat - 如何在同一 L2 网络上创建两个 Aerospike 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36572859/