解决Qpid与RabbitMQ端口冲突问题(epmd reports: node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口

解决Qpid与RabbitMQ端口冲突问题(node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口

本文以Windows为例讲解如何修改Rabbit MQ默认端口,从而解决Qpid与Rabbit MQ冲突的问题。
RabbitMQ的默认端口如下:

  • 4369 (epmd), 25672 (Erlang distribution)

  • 5672, 5671 (AMQP 0-9-1 without and with TLS)

  • 15672 (if management plugin is enabled)

  • 61613, 61614 (if STOMP is enabled)

  • 1883, 8883 (if MQTT is enabled)

其中AMQP端口5672与Qpid使用的端口冲突,从而导致两个消息中间件有一个无法正常工作。
为了修改RabbitMQ的默认端口我查了很多资料,它们都说需要修改一个rabbitmq.config文件(或找到一个rabbitmq.config.exsample)来实现配置,但本人所安装的3.11.2版本的目录下并没有找到这个文件。在查阅了官网的文档后,发现现在的配置文件变为了如下两个:
解决Qpid与RabbitMQ端口冲突问题(epmd reports: node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口_第1张图片
在C:\Users\user\AppData\Roaming\RabbitMQ目录下存在文件advanced.config (虽然里面是空的),但没有文件rabbitmq.conf。该文件才是决定rabbitMQ配置的主文件,所以我们手动新建一个txt,重命名为rabbitmq.conf。该文件的样例文件可以在github-rabbitmq找到,大致如下:
解决Qpid与RabbitMQ端口冲突问题(epmd reports: node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口_第2张图片
我们没有必要粘贴全部的文件内容到我们的配置文件中,只需要选取其中需要使用的部分即可:
这里我们只更改端口号(若要更改其他配置,可参照官网中各字段的描述):

listeners.tcp.default = 5673

将上述语句加入到我们新建的配置文件rabbitmq.conf中,并将它置于advanced.config文件同一目录下(C:\Users\user\AppData\Roaming\RabbitMQ)。
接下来需要让RabbitMQ知道你做了这些更改,并使用这个配置文件。通过查阅官网文档得知可以通过新增/更改系统环境变量的方式来应用新的配置文件:
解决Qpid与RabbitMQ端口冲突问题(epmd reports: node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口_第3张图片
我们在编辑系统环境变量窗口中新建如下系统变量 RABBITMQ_CONFIG_FILE
解决Qpid与RabbitMQ端口冲突问题(epmd reports: node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口_第4张图片
注意:这里的路径需要精确到文件,并且文件必须带有后缀 .conf !
接着,需要重启RabbitMq来应用这些更改:
管理员权限打开cmd,cd到rabbitmq server/sbin目录下,依次运行如下语句:

rabbitmq-service.bat stop
rabbitmq-service.bat remove
rabbitmq-service.bat install
rabbitmq-service.bat start

这样就完成了RabbitMq的重启操作,为验证新增配置文件是否被使用,我们可以在cmd运行如下命令:

rabbitmqctl status

其输出若为下图所示内容,则代表已成功更改了端口:
解决Qpid与RabbitMQ端口冲突问题(epmd reports: node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口_第5张图片

已经安装了QPID和RabbitMQ的情况

此时,执行 rabbitmqctl status命令将会提示Unable to perform an operation on node xxx
node rabbit not running at all:
解决Qpid与RabbitMQ端口冲突问题(epmd reports: node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口_第6张图片
这时就需要 彻底删除 RabbitMq(包括程序本体,Remote目录下的文件夹,注册表,服务),并通过管理员权限的cmd,执行sc delete 命令删除 RabbitMQ 和 qpidd 的服务。接着先安装默认配置的rabbitMQ,按上文所述更改配置,再安装qpid。

你可能感兴趣的:(rabbitmq,分布式,qpid,配置)