公司使用的mqtt用到了emqtt作为中间件,项目部署开发的时候没有在项目组中参与开发工作,这次有单独的任务需要使用到mqtt,在本地启动的时候发现启动完项目后一直报下图中的错误。
找之前的开发问了一下,说是配置有问题,重新安装即可解决。
想着正好趁着这个机会了解下emqtt,所以自己去网上查资料想办法去解决(重装多麻烦0.0),网上的关于这方面的资料比较少,走了比较多的弯路,所以特地记录一下,防止下次忘记。
解决过程
既然是报的登录问题,那么第一步肯定是直接copy问题去百度啦~~ 嗯。。只找到了几篇账号密码配置的文章,没有匹配的报错解决文章。既然没有相应的文章,那就从安装到部署看起,总应该有用户名密码的配置,,,,查了一段时间以后发现,还是没有(其实是没看到,官网里面有相应的设置,后面会讲到)。没啥办法了,照着之前翻出来的几篇帖子,一个个试呗。看到有篇帖子说要关闭重启,于是在服务器上进行重启操作,没想到居然也报错:
Node 'emqx@127.0.0.1' not responding to pings.
然后根据这个问题去查询,看到几篇帖子都说是版本不一致的问题导致,联想了一下,启动项目以后的报错也很有可能是此问题引起的(1.之前是好的,突然不行了。2.之前的开发说重装就可以)。然后根据帖子一顿操作,kill 在启动以后,发现启动果然没有报错了。
下面贴几篇参照的帖子,另外也非常感谢作者们~
https://blog.csdn.net/zhan107876/article/details/95938838?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task 我就是照着这个帖子解决的。
https://blog.csdn.net/IOT_LI/article/details/98870724
https://blog.csdn.net/myWorld001/article/details/103788729 根据这篇帖子去重启emq,失败了以后去再去找失败的问题。
解决步骤
也贴一下自己的解决步骤
1.ps -ef | grep emq (打开冰箱)
2.kill -9 相应的服务 (大象塞进去)
3.进入emqx的根目录 ./bin/emqttd start (关上冰箱)
~~~~~~解决撒花~~~~~
后续复盘
解决完以后还是需要回顾一下整个过程,梳理一下:
1.其实官网上对于账号有介绍,只是当时没看到这一步 ,上面比较详细的介绍了不同版本之间的账号密码配置。
https://docs.emqx.io/tutorial/v3/cn/security/auth.html#%E7%94%A8%E6%88%B7%E5%90%8D%E8%AE%A4%E8%AF%81
2.对比了一下成功和失败版本的ps -ef发现了一些区别
失败:
成功:
以后就可以先查询进程然后进行查看是否是版本问题了。