Ubuntu 12.04에서 rabbitmq-server를 시작할 수 없습니다


8

rabbitmq-serverubuntu-server 12.04에 설치하려고 했지만 실패했습니다.

그런 다음 http://www.rabbitmq.com/install-debian.html 의 가이드에 따라 적절한 소스 목록을 추가 하십시오.

그러나 재설치는 여전히 다음과 같은 오류가 있습니다.

$ sudo aptitude install rabbitmq-server
...
Setting up rabbitmq-server (2.8.7-1) ...
 * Starting message broker rabbitmq-server
 * FAILED - check /var/log/rabbitmq/startup_\{log, _err\}
   ...fail!
invoke-rc.d: initscript rabbitmq-server, action "start" failed.
dpkg: error processing rabbitmq-server (--configure):
 subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Errors were encountered while processing:
 rabbitmq-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:
Setting up rabbitmq-server (2.8.7-1) ...
 * Starting message broker rabbitmq-server
 * FAILED - check /var/log/rabbitmq/startup_\{log, _err\}
   ...fail!
invoke-rc.d: initscript rabbitmq-server, action "start" failed.
dpkg: error processing rabbitmq-server (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 rabbitmq-server

그리고 오류 로그는 유용한 것으로 보이지 않습니다.

# startup_err shows this
Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})

# startup_log shows this
{error_logger,{{2012,10,10},{22,31,54}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,epmd_close}},[{inet_tcp_dist,listen,1},{net_kernel,start_protos,4},{net_kernel,start_protos,3},{net_kernel,init_node,2},{net_kernel,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}]}
{error_logger,{{2012,10,10},{22,31,54}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.20.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[#Port<0.90>,<0.17.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,24},{reductions,511}],[]]}
{error_logger,{{2012,10,10},{22,31,54}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfargs,{net_kernel,start_link,[[rabbitmqprelaunch18417,shortnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2012,10,10},{22,31,54}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2012,10,10},{22,31,54}},std_info,[{application,kernel},{exited,{shutdown,{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}"}

나는 한동안 구글 검색을했지만 아무 것도 얻지 못했습니다.

인터넷에서 한 가지 해결책은 호스트 이름을 핑 가능하게 만드는 것입니다 /etc/hosts.

127.0.0.1    localhost    myserver

rabbitmq-server를 얻는 방법에 대한 제안이 있으십니까?


ps -ef | grep [r]abbit?
quanta

답변:


10

내가 chefm을 설치하는 동안 rabbitmq-server를 설치하는 동안이 문제에 직면했습니다. 나를위한 해결 방법 과이 문제에 대한 해결책은 다음과 같습니다.

    $ sudo vim /etc/hosts

그런 다음 추가

    $ 127.0.0.1 <hostname>

호스트 이름은 확실하지 않으면 다음 명령을 실행하십시오.

    $ hostname

결과는 호스트 이름입니다. / etc / hosts에 추가 한 후 다음을 실행하십시오.

    $ sudo service rabbitmq-server start

그리고 시작되었습니다. 이것은 나를 위해 일했습니다. 읽어 주셔서 감사합니다. :)


1

방화벽 / 포트가 차단되어 시동되지 않을 수 있습니다!

기본적으로 5672 (토끼 mq 포트) 및 4365 (빈 포트)를 활성화해야합니다.

그런 다음 다시 시작하면 작동합니다.


감사합니다. 내 ufw가이 포트를 차단하고있었습니다. 귀하의 의견은 저에게 문제를 해결했습니다.
Bartosz Hernas 2016


0

/etc/host파일 과 관련된 문제 입니다. 이 파일이 올바르게 구성되지 않았습니다.

파일을 열기 만하면됩니다.

$ sudo -s
$ vim /etc/hosts

이 파일에서 "127.0.0.1"로 시작하는 행을 확인하십시오 (일반적으로 파일의 상단에 위치).

그런 다음 다음과 같이 만드십시오.

127.0.0.1  your host name

그런 다음 저장하고 종료하십시오. 이제 다시 시작 rabbitmq-server하고 작동하는지 확인하십시오.


이 질문은 이미 /etc/hosts배제 되었다고 말합니다 .
Andrew B

실제로 작동합니다.
말이

0

비슷한 오류가 발생했습니다 (devstack을 위해 rabbitmq-server를 다시 시작할 때 로그가 없습니다) 내 / etc / hosts 파일이 올바르게 구성되었습니다.

rabbitmq_server가 실패하면 erl_crash.dump에 특정 정보를 기록합니다. 파일에서 포트 5672 (서버가 배포 된)가 비어 있지 않다는 것을 알 수있었습니다. netstat -vtanp | grep 5672에서도 마찬가지입니다. 포트가 beam.smp에 의해 사용 중입니다. 프로세스를 중지하고 rabbitmq-server를 다시 시작했는데 작동했습니다.


0

제 경우에는 방화벽이 모든 로컬 연결을 차단하고 있다는 것이 문제였습니다.

들어오는 패킷에 대한 iptables 정책을 DROP으로 설정했습니다. 그러나 localhost에서 오는 패킷을 허용하는 특정 규칙을 추가해야했습니다.


0

확실하게 로컬 네트워크를 살펴보십시오.

ip add

"lo"네트워크가없는 경우이를 활성화해야합니다.

ifconfig lo up

그런 다음 서버를 다시 시작하고 다시 작동하는지 확인하십시오.

systemctl start rabbitmq-server
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.