redhat - 如何在同一 L2 网络上创建两个 Aerospike 集群

标签 redhat iptables subnet aerospike aerospike-loader

我正在使用两个 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/

相关文章:

linux - fdisk - 创建一半磁盘大小的交换分区

linux - docker build 无法在 **sticky** 目录中使用 Dockerfile?

linux - 限制对所有域的访问,但一个在系统/代理级别

python - 如何发现不同子网上的硬件?

java - 如何在Java中从IP获取子网

node.js - postcss-svgo : TypeError: Cannot set property 'multipassCount' of undefined (Gatsby)

linux - 即使安装了软件包,repoquery 也不会输出任何软件包 (yum-utils)

docker - 使用 linux 内核 4.3.0 运行 docker 出现 iptables nat 错误

linux - 如何在 iptables 中打开端口以进行 RMI 访问

mysql - 授予对子网上所有机器的 mysql 访问权限