2012-12-19 18 views
15

Ich habe versucht, Rabbitmq Server aus irgendeinem Grund zu verwenden, schließt die Verbindung abrupt, obwohl ich den richtigen Benutzernamen und das richtige Passwort übergeben.Rabbitmq Serververbindung abrupt schließen

Rabbitmq Server läuft auf Port 5672 und Telnet zu meinem Server an Port 5672 sagt, es läuft gut.

I rabbitmq Server in CentOS und mein rabbitmq Server Log installiert haben, sind wie folgt:

=INFO REPORT==== 19-Dec-2012::06:25:44 === 
accepted TCP connection on [::]:5672 from <host>:42048 

=INFO REPORT==== 19-Dec-2012::06:25:44 === 
starting TCP connection <0.357.0> from <host>:42048 

=WARNING REPORT==== 19-Dec-2012::06:25:44 === 
exception on TCP connection <0.357.0> from <host>:42048 
connection_closed_abruptly 

=INFO REPORT==== 19-Dec-2012::06:25:44 === 
closing TCP connection <0.357.0> from <host>:42048 

Was die möglichen Gründe dafür sein könnte passieren.

Dank

+0

Ich schreibe Python 2.6-Code, der 'pika.BlockingConnection' verwendet und jedes Mal, wenn ich die' .close() 'darauf anrufe, bekomme ich die Warnung. Ich habe auch bemerkt, dass, da ich es als eine Schleife habe, dass es die Portnummer erhöht, die es als nächstes abhört. Ich habe festgestellt, dass das Verschieben meiner Verbindungsdeklaration und das Schließen meiner Schleife die Anzahl der Warnungen reduziert, aber das zugrunde liegende Problem nicht wirklich gelöst hat, aber ich vermeide Festplattenplatzprobleme aus der Protokolldatei. Ich versuchte auch die '.close()' mit dem Code und der Zeichenfolge, um den gleichen Fehler zu haben. Ich laufe auch auf CentOS 5.x (denke, ich habe das gleiche Problem mit CentOS 6.x auch) –

Antwort

12

connection_closed_abruptly bedeutet, dass der Client die TCP-Verbindung ohne Umweg über den richtigen AMQP Verbindungsabbruch Prozess geschlossen.

Ist Ihr Kaninchenserver hinter einem Load Balancer? Eine häufige Ursache für abrupt geschlossene Verbindungen ist der Heartbeat eines TCP-Lastenausgleichsmoduls. Wenn dies der Fall ist, sollten Sie diese Nachrichten in sehr regelmäßigen Abständen sehen, und die allgemein akzeptierte Praxis scheint zu sein, sie zu ignorieren. Um den Aufbau von Log-Dateien zu vermeiden, können Sie auch erwägen, den Log-Level auf "error" zu erhöhen.

Wenn Ihr Client andererseits direkt eine Verbindung zum Rabbitmq-Server herstellt, bedeutet dies wahrscheinlich, dass Ihr Client die Verbindung nicht auf eine vom AMQP genehmigte Weise schließt. Sie könnten einen anderen Client versuchen, um zu bestätigen, ob dies der Fall ist.

Btw, telnetting zu Ihrem Server wird wahrscheinlich auch abrupte Schließungen verursachen. :)

+2

Für mich waren es die LBs, die einmal pro Sekunde einen Gesundheitscheck machen. Vielen Dank! – mfisch