2012-12-19 21 views
15

Próbowałem użyć serwera Rabbitmq z jakiegoś powodu, że połączenie nagle się zamknęło mimo podania prawidłowej nazwy użytkownika i hasła.Połączenie z serwerem Rabbitmq nagle się zamyka

Serwer Rabbitmq działa na porcie 5672 i telnetuje się do mojego serwera na porcie 5672 mówi, że działa poprawnie.

Mam zainstalowany serwer RabbitMQ w CentOS i mój dziennik serwera RabbitMQ są następujące:

=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 

Jakie mogą być ewentualne powody, aby tak się stało.

Dzięki

+0

Piszę kod Pythona 2.6, który używa 'pika.BlockingConnection' i za każdym razem, gdy wywołuję na nim' .close() ', otrzymuję ostrzeżenie. Zauważyłem też, że skoro mam go w pętli, zwiększa on numer portu, który słucha do następnego. Zauważyłem, że przeniesienie deklaracji połączenia i zamknięcie pętli zmniejszyło liczbę ostrzeżeń, ale tak naprawdę nie rozwiązało problemu, ale unikam problemów z przestrzeni dyskowej z pliku dziennika. Próbowałem również '.close()' z kodem i ciągiem, aby mieć ten sam błąd. Używam także CentOS 5.x (wydaje mi się, że mam ten sam problem z CentOSem 6.x). –

Odpowiedz

12

connection_closed_abruptly oznacza, że ​​klient zamknął połączenie TCP bez przechodzenia przez właściwego procesu zakańczania połączeń AMQP.

Czy Twój króliczki serwer znajduje się za równoważnikiem obciążenia? Powszechną przyczyną, dla której połączenia są nagle zamykane zaraz po ich uruchomieniu, jest bicie serca modułu równoważenia obciążenia TCP. W takim przypadku powinieneś widzieć te wiadomości w bardzo regularnych odstępach czasu, a ogólnie przyjętą praktyką wydaje się ignorowanie ich. Aby uniknąć gromadzenia się plików dziennika, możesz również rozważyć podniesienie poziomu dziennika do "błędu".

Z drugiej strony, jeśli klient łączy się bezpośrednio z serwerem rabbitmq, prawdopodobnie oznacza to, że klient nie zamyka połączenia w sposób zatwierdzony przez AMQP. Możesz spróbować innego klienta, aby potwierdzić, czy tak jest.

Przy okazji telnet na twój serwer może również spowodować nagłe zamknięcie. :)

+2

Dla mnie to LB wykonują kontrolę stanu, raz na sekundę. Dzięki! – mfisch

Powiązane problemy