【已解决】ubuntu20.04 | 解压tar.gz安装emqx,emqx启动失败,运行时出现警告
我在下载tar.gz安装包之前,使用EMQX Apt 源安装过EMQX,我猜测可能两者有冲突,于是我根据网上的提示,卸载了使用EMQX Apt 源安装过的EMQX,然后,我再尝试运行emqx 5.8.4,但仍然出现上面的警告。】可能每个人碰到的是相同问题,但是中间过程不得而知,尝试别人的方法不一定管用,但是可以作为一种参考。第3句:如果你使用的是集群模式,所有节点必须使用相同的 Cookie,否则

WARNING: Default (insecure) Erlang cookie is in use.
WARNING: Configure node.cookie in /home/serein/emqx/etc/emqx.conf or override from environment variable EMQX_NODE__COOKIE
WARNING: NOTE: Use the same cookie for all nodes in the cluster.
翻译:
第1句:EMQX 正在使用默认的 Erlang Cookie,这是一个不安全的配置
第2句:
-
在
/home/serein/emqx/etc/emqx.conf文件中配置node.cookie参数 -
通过环境变量
EMQX_NODE__COOKIE设置 Cookie
第3句:如果你使用的是集群模式,所有节点必须使用相同的 Cookie,否则节点之间无法正常通信
我在下载tar.gz安装包之前,使用EMQX Apt 源安装过EMQX,我猜测可能两者有冲突,于是我根据网上的提示,卸载了使用EMQX Apt 源安装过的EMQX,然后,我再尝试运行emqx 5.8.4,但仍然出现上面的警告
我尝试了网上现有的解决方法,均没有用
<1> 修改cookie。不会报警了,但是过一段时间后,会有如下报错【无效】
![]()
-
错误: EMQX 5.1.6 使用节点名'emqx@127.0.0.1',120 次探测失败
-
这个错误消息意味着:EMQX无法启动并连接到指定的节点
<2> 卸载emqx,重新安装【无效】
<3> 降低emqx的版本,试过5.8.4,5.1.6,4.4.19【无效】
上面的报错给了我启发,我在想:有没有可能是端口1883(MQTT 默认端口)被占用了,导致emqx启动失败
于是我查看了一下当前1883端口是否被占用
sudo netstat -tunlp | grep 1883

停止 mosquitto 服务
因为 mosquitto 和 emqx 不能同时使用同一个端口,所以需要先停止 mosquitto 服务
-
停止
mosquitto服务
sudo systemctl stop mosquitto
-
确认
mosquitto是否已停止
sudo systemctl status mosquitto
查了一下,mosquitto 是一款实现消息推送协议 MQTT v3.1 的开源消息代理软件,其实也是跟MQTT相关的。【我记得我没有安装过,但是不知道为什么电脑上会有】
然后,我再尝试运行emqx 5.8.4,就成功了!

当然,如果你不喜欢每次启动emqx时,总是弹出黄色警告,可以随便修改一个cookie值,例如:emqxsecretcookie123
- 修改路径:emqx/etc/emqx.conf
- 参数名:cookie

【结语】可能每个人碰到的是相同问题,但是中间过程不得而知,尝试别人的方法不一定管用,但是可以作为一种参考。
【2024年1月23日-补充】
大家在关闭服务后,可能会发现:电脑在下次重启之后,mosquitto这个服务又启动了。
解决方法:关闭开机自启动
sudo systemctl stop mosquitto # 停止服务
sudo systemctl disable mosquitto # 禁用服务的开机自启
可以重启电脑,验证一下是否生效
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)