emqx4.4.7集群其中一个节点启动失败

环境信息

  • EMQX 版本:4.4.7集群
  • 操作系统及版本:Amazon Linux2023

集群有两个节点,部署在两台内网服务器,集群方式是cluster.discovery = static
两个节点node.name分别是emqx@emq.a.internal,emqx@emq.b.internal
4370, 5370端口都没修改,使用默认端口。

问题描述

两台服务器同时开机时,emqx会随开机自启动。b节点的emqx正常启动了,但是a节点emqx启动时报错:

Eshell V12.1.5  (abort with ^G)
1> *** Terminating erlang (nonode@nohost)
There seem to be missing dynamic libs from the OS.
Using libs from /usr/apps/emqx4.4.7/dynlibs instead.
NOTE: EMQX's rpm or deb package installation is recommended!
Node is already running!

我看了一下4370和5370端口都没有占用,emqx/log下没有任何日志。随后我手动启动了这个emqx节点,启动成功了,也没有报任何错误。

ps -ef | grep emqx 看看,有的话杀掉它。

节点名好像出了问题,nonode@nohost ,你检查一下 emqx.conf 里的节点名看对不对。

两个节点的名称分别是:emqx@emq.a.internal,emqx@emq.b.internal
其中@符号前面的node name相同,但是@符号后面的host name不相同,可能是这个原因造成的吗?

因为启动失败的这个节点没有任何log文件输出,应该是没有emqx进程在跑的。
ps -ef | grep emqx 查看也确实没有emqx进程。
所以我想问一下,emqx除了通过node.name判断是否处于running状态之外,还有其他判断的依据吗?

查看systemd日志,也没有emqx启动相关的日志