好久没写这个了,这两天学习延迟队列,用到了rabbitmq的一个插件,rabbitmq_delayed_message_exchange,安装完这个后,我的 rabbitmq 就坏了。各种启动错误,给我整崩溃了,弄了一天才弄好。在此记录一下,因为这是我第二次遇到这种错误,要不是看到自己的评论我都不知道,等会在说这个。
1.首先是版本的问题
版本的问题很重要,不然不能兼容,会出现各种不可见的问题,使用过程中让人头大,最后还是需要重装。所以,我们一定要防患于未然,在刚开始的时候,就装好对应版本的 rabbitmq 和 erlang 。很重要!!!
我之前用的是 3.7.16 的 rabbitmq 和 10.x 的 erlang(22.0的otp),这俩个应该是匹配的,但是我找不到问题的原因,我卸载安装了无数次,最后换了这两个的版本。
现在用的是 3.7.7 的 rabbitmq 和 9.3 的 erlang(20.3的otp),我待会会把这两个安装包放在百度云里,还有 3.7.x 的 rabbitmq_delayed_message_exchange 插件一起,这三个是可以匹配的。
2.启动插件时报错,Plugin configuration unchanged,伴随的问题还有,Rabbitmq服务启动后,会马上自动关闭。
试了网上的N种方法,把 rabbitmq 和 erlang 卸载重装了好多遍,最后还是没有解决问题,上午偶然看到一篇文章,我照着这个方法又试了试,最后终于解决了问题。然后我想登陆下 csdn 感谢下博主, 在看评论的时候,发现只有一条评论,内容是感谢博主,再仔细一看,竟然是我自己在一个月前评论的。。。。我傻了,一个月前就遇到了这个问题,一个月后,同样的问题又困惑了我一天的时间。所以为了避免第三次被这个问题搞,我决定写下此篇博客,记录问题,加深印象,下次 rabbitmq 再出问题,首先想到这篇博客!!!
3. 解决问题的步骤
3.1 首先是移除服务
rabbitmq-service.bat remove
3.2 然后第二步,我不知道是干嘛的,设置了一个路径
set RABBITMQ_BASE=D:\install3\rabbitmq\rabbitmq_server-3.7.14\data
路径是安装的 rabbitmq 的路径
3.3 安装服务
rabbitmq-service.bat install
执行完这步后,rabbitmq 文件里会多出一个,第二部设置的文件夹。
3.4 然后再开启插件
rabbitmq-plugins enable rabbitmq_management
这个开启插件只能开启,data文件里 enabled_plugins 这个文件里 有的 插件,如果这个文件里没有写出你开启的插件,是会报错的:enabled_plugins_mismatch 。报这个错,意思是,路径不匹配,反正意思就是,这个文件里写出你要开启的插件。
解决方法:我是在把插件解压到,plugins 文件夹后,重新执行上面的三步,然后插件就会被拷贝进 enabled_plugins 文件里。
或者在enabled_plugins文件里直接添加,这个方法我不知道可以不,没有试过。
enabled_plugins文件里的内容是这样的:[rabbitmq_delayed_message_exchange,rabbitmq_management].
里面是我的俩个插件。
好,写到这里。