错误报告
环境
- EMQX 版本:5.0.x
- 操作系统版本:centos 7.6
有关注到从5.x版本开始,EMQ集群区分了core节点跟Replicant节点,压测方案也是3个core节点带着36个Replicant节点组成的集群的,也没有看到具体的文档介绍这两者的区别,部署集群的时候是否两个节点都需要用到?
你好,我看了下架构部署,有了一定的了解,还有点疑问,就是我们如何确定replicant节点是属于哪个core节点的,我自己在配置cluster.core_nodes这个参数是有报错,不知道这个数组里面怎么填值,麻烦指点下
方便提供一下你的配置吗?
node {
name = “emqx@10.187.4.135”
cookie = “emqxsecretcookie”
data_dir = “data”
db_role = replicant
}
log {
file_handlers.default {
level = warning
file = “log/emqx.log”
}
}
cluster {
name = emqxcl
discovery_strategy = manual
core_nodes = [“emqx@10.187.129.229”]
}
listeners.tcp.default {
bind = “0.0.0.0:1883”
max_connections = 1024000
}
listeners.ssl.default {
bind = “0.0.0.0:8883”
max_connections = 512000
ssl_options {
keyfile = “etc/certs/key.pem”
certfile = “etc/certs/cert.pem”
cacertfile = “etc/certs/cacert.pem”
}
}
好的,我试下,core_nodes这个配置需要将所有core节点配置进去吗?
你用的 EMQX 版本是多少?
5.0.14的
非常抱歉,这是一个已知 Bug,已经在 5.0.15 中修复了。
好的,我升级到5.0.15版本再试下
另外如果你已经配置了 static、DNS 这些集群自动发现策略,cluster.core_nodes
这个配置项其实就可以不用配置了,只有手动加入集群时才需要配置这个。我们后续会更新下文档。
Replicant 节点会按照一定的策略选择要连接的 Core 节点,并且每次只会连接到一个 Core 节点上。关于如何确定 Replicant 节点属于哪个 Core 节点,目前我们还没有开放对应的接口。
好的,那手动加入集群cluster.core_nodes这个参数应该是配置整个集群的core节点了,replicant节点需要知道所有的core节点,不然当复制的core节点挂掉了就无法切到其他core节点了。不知道这样理解对不对
是的
我也遇到这个问题,这个4370端口是否可以在哪个配置项修改,我这边由于也是要跑两个emqx服务。也是卡在这个端口占用的问题。
你这是启动了多个 EMQX 实例?
只启动了一个,后来将replicant节点集群模式由manual改成static方式连接后就可以连上了