2014-09-12 13 views
12

Ich versuche den rabbitmq Server in Centos 7 zu starten. Ich habe erlang installiert, da es eine Abhängigkeit von rabbitmq-server ist. Package erlang.x86_64 0: R16B-03.7.el7 .I dann installiert rabbitmq mit Paket rabbitmq-server-3.2.2-1.noarch.rpm. Die Installation war erfolgreich. Ich habe Management-Konsole aktiviert, die kaninchenmq-plugins aktivieren rabbitmq_management. Aber beim Starten des Dienstes rabbitmq-server schlägt es fehl.Kann den rabbitmq Server in Centos 7 nicht starten mit systemctl

[[email protected] ~]# systemctl start rabbitmq-server.service 
Job for rabbitmq-server.service failed. See 'systemctl status rabbitmq-server.service' and 'journalctl -xn' for details. 
[[email protected] ~]# systemctl status rabbitmq-server.service 
rabbitmq-server.service - LSB: Enable AMQP service provided by RabbitMQ broker 
    Loaded: loaded (/etc/rc.d/init.d/rabbitmq-server) 
    Active: failed (Result: exit-code) since Fri 2014-09-12 13:07:05 PDT; 8s ago 
    Process: 20235 ExecStart=/etc/rc.d/init.d/rabbitmq-server start (code=exited, status=1/FAILURE) 

Sep 12 13:07:04 tve-centos su[20245]: (to rabbitmq) root on none 
Sep 12 13:07:05 tve-centos su[20296]: (to rabbitmq) root on none 
Sep 12 13:07:05 tve-centos su[20299]: (to rabbitmq) root on none 
Sep 12 13:07:05 tve-centos rabbitmq-server[20235]: Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err} 
Sep 12 13:07:05 tve-centos rabbitmq-server[20235]: rabbitmq-server. 
Sep 12 13:07:05 tve-centos systemd[1]: rabbitmq-server.service: control process exited, code=exited status=1 
Sep 12 13:07:05 tve-centos systemd[1]: Failed to start LSB: Enable AMQP service provided by RabbitMQ broker. 
Sep 12 13:07:05 tve-centos systemd[1]: Unit rabbitmq-server.service entered failed state. 

und Protokolle zeigt/var/log/rabbitmq/startup_log BOOT FAILED ===========

Error description: 
    {could_not_start,rabbitmq_management, 
        {could_not_start_listener,[{port,15672}],eacces}} 

Log files (may contain more information): 
    /var/log/rabbitmq/[email protected] 
    /var/log/rabbitmq/[email protected] 

aber kein Prozess wird unter Verwendung von Port 15672

Aber wenn ich versuche, es mit/usr/sbin/rabbitmq-server zu starten .Ich habe den Dienst erfolgreich gestartet. Aber meine Anforderungen sind, es mit dem systemctl zu starten.

Antwort

0

Es sieht wie ein Port-Problem aus. Zur Bestätigung, dass

systemctl stop firewalld 
systemctl disable firewalld 

Und deaktivieren SELinux für die Zeit, in seine/etc/selinux/config-Datei

SELINUX=disabled 

Versuchen Sie Ihren Rechner neu starten und sehen, ob das Problem weiterhin besteht.

+2

In der Regel sollte man immer eine Firewall laufen lassen und SELINUX aktiviert lassen; Sobald das Problem erkannt wurde, ist es sehr ratsam, diese wieder einzuschalten. Sie können tcpdump ausführen, um herauszufinden, welche Firewall-Ports blockiert sind (oder indem Sie diejenigen aktivieren, die rabbitmq benötigt) und Sie können audit2allow verwenden, um herauszufinden, was SELINUX policy/boolean den Dienst blockiert. Siehe @ chriscowleys Antwort. – JJC

17

Bessere Antwort wäre, SELinux und die Firewall tatsächlich zu reparieren.

Öffnen Sie den Hafen:

firewall-cmd --permanent --add-port=5672/tcp 
firewall-cmd --reload 
setsebool -P nis_enabled 1 

Das funktioniert für mich.

+1

Ich bin auf 'CentOS Linux Release 7.0.1406 (Core)' und ich bekomme einen Fehler auf den letzten Befehl 'Boolean Nisenabled ist nicht definiert' – pyCthon

+2

@pyCthon versuchen, ohne mein Tippfehler :-) Die Boolesche ist eigentlich' nis_enabled' nicht 'nisenabled'. Entschuldigung – chriscowley

+0

Danke! Ich habe es endlich auch mit dieser Methode gelaufen. Ich vermisste das setsebool Kommando Bit – Maverik

Verwandte Themen