我在 CentOS 7.2.1511 上安装了单个 RabbitMQ 3.6.1-1,带有 Erlang R16B-03.16.el7。今天我清理了它:
rabbitmqctl stop_app
rabbitmqctl force_reset
rabbitmqctl start_app
它工作了一段时间,现在(可能经过 8 小时的数据处理)它没有响应应用程序请求和状态检查:
# rabbitmqctl status
Status of node 'rabbit@RabbitMQ-Server' ...
^C
Session terminated, killing shell... ...killed.
另外,我在 中有很多消息/var/log/rabbitmq/startup_log
。这些消息无限循环重复:
http://pastebin.com/38AXyw4n
其他日志里没有任何内容:
# ls -lS
total 6481664
-rw-r--r-- 1 root root 2365375398 Apr 30 21:34 startup_log
-rw-r--r-- 1 rabbitmq rabbitmq 0 Apr 30 14:18 [email protected]
-rw-r--r-- 1 rabbitmq rabbitmq 0 Apr 30 20:45 [email protected]
-rw-r--r-- 1 root root 0 Apr 30 14:18 startup_err
RabbitMQ 出了什么问题?如何才能将其恢复到工作状态?
答案1
似乎是 RabbitMQ 和 Erlang 版本之间存在一些不一致。我已从RabbitMQ 维护者,此后日志记录和 AMQP 握手开始按预期工作。
systemctl stop rabbitmq-server
killall epmd
yum remove rabbitmq-server
yum remove erlang
yum autoremove
wget https://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-3.6.1-1.noarch.rpm
yum install erlang-18.3-1.el7.centos.x86_64.rpm
yum install rabbitmq-server-3.6.1-1.noarch.rpm