서비스가 실행 중인데 rabbit-mq
갑자기 서비스가 실행되고 있지 않아 시작할 수 없는 것을 발견했습니다.
이 유형의 문제에 대한 다른 기존 질문을 확인했는데 대부분 /etc/hosts 구성의 문제를 지적합니다.
재시작 결과는 다음과 같습니다.
/etc/init.d/rabbitmq-server restart
[....] Restarting rabbitmq-server (via systemctl): rabbitmq-server.serviceJob for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
failed!
systemctl의 세부정보는 다음과 같습니다.
systemctl status rabbitmq-server.service
rabbitmq-server.service - RabbitMQ Messaging Server
Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since mié 2018-10-03 13:07:32 CEST; 42s ago
Process: 5545 ExecStop=/usr/sbin/rabbitmqctl stop (code=exited, status=2)
Process: 4564 ExecStartPost=/usr/lib/rabbitmq/bin/rabbitmq-server-wait (code=exited, status=2)
Process: 4563 ExecStart=/usr/sbin/rabbitmq-server (code=exited, status=1/FAILURE)
Main PID: 4563 (code=exited, status=1/FAILURE)
systemd[1]: Starting RabbitMQ Messaging Server...
rabbitmq[4564]: Waiting for rabbit@edr ...
rabbitmq[4564]: pid is 4571 ...
systemd[1]: rabbitmq-server.service: Main process exited, code=exited, status=1/FAILURE
rabbitmq[4564]: Error: process_not_running
systemd[1]: rabbitmq-server.service: Control process exited, code=exited status=2
systemd[1]: Failed to start RabbitMQ Messaging Server.
systemd[1]: rabbitmq-server.service: Unit entered failed state.
systemd[1]: rabbitmq-server.service: Failed with result 'exit-code'.
결과는 journalctl -xe
추가 정보를 제공하지 않았습니다.
/var/log/rabbitmq/startup_err 파일은 다음과 같은 메시지를 표시합니다.
Crash dump is being written to: erl_crash.dump...done
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,auth,{"Cookie file /var/lib/rabbitmq/.erl
tail: /var/log/rabbitmq/startup_err: file truncated
Rabbit-mq가 시작되지 않을 때 정확한 오류를 찾는 다른 방법이 있습니까?
답변1
/var/log/rabbitmq/startup_log
마지막으로 다음과 같은 자세한 오류를 발견했습니다 .
{error_logger,{{2018,10,3},{13,14,18}},“Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only”,[]}
나는 Rabbitmq가 새 파일을 생성하도록 하는 것이 더 나을 것이라고 생각했기 때문에 적용된 솔루션은 erlang 쿠키 파일을 삭제하는 것이었습니다.
rm /var/lib/rabbitmq/.erlang.cookie
그런 다음 Rabbitmq를 다시 시작하면 다시 작동합니다.
답변2
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 600 /var/lib/rabbitmq/.erlang.cookie