2016-02-04 2 views
0

Я настроил кластер Riak, и все в порядке. Я настроил ejabberd.yml, чтобы поговорить с ним, но последние несколько строк, которые я вижу в журналах, приведены ниже, и я не могу понять, как его отладить.eJabberd с Riak

Любой, кто может помочь?

Change ejabberd install user to root... 
Missing ssl cert for your host. Generating snakeoil ssl cert for xmpp.alchemy.local... 
Generating a 4096 bit RSA private key 
..............................................++ 
..............................................++ 
writing new private key to '/tmp/selfsigned.key' 
----- 
Writing ssl cert and private key to '/opt/ejabberd/ssl/host.pem'... 
Missing ssl cert for your xmpp domain. Generating snakeoil ssl cert for alchemy.local... 
Generating a 4096 bit RSA private key 
................................................++ 
........................++ 
writing new private key to '/tmp/selfsigned.key' 
----- 
Writing ssl cert and private key to '/opt/ejabberd/ssl/alchemy.local.pem'... 
Generating ejabberd config file... 
Generating ejabberdctl config file... 
Starting ejabberd... 
tail: cannot open ‘/var/log/ejabberd/crash.log’ for reading: No such file or directory 
tail: cannot open ‘/var/log/ejabberd/error.log’ for reading: No such file or directory 
tail: cannot open ‘/var/log/ejabberd/erlang.log’ for reading: No such file or directory 
tail: ‘/var/log/ejabberd/crash.log’ has been replaced with a remote file. giving up on this name 
tail: ‘/var/log/ejabberd/error.log’ has been replaced with a remote file. giving up on this name 
09:57:16.424 [info] Application lager started on node [email protected] 
09:57:16.431 [info] Application crypto started on node [email protected] 
09:57:16.442 [info] Application sasl started on node [email protected] 
09:57:16.452 [info] Application asn1 started on node [email protected] 
09:57:16.452 [info] Application public_key started on node [email protected] 
09:57:16.466 [info] Application ssl started on node [email protected] 
09:57:16.474 [info] Application p1_yaml started on node [email protected] 
09:57:16.485 [info] Application p1_tls started on node [email protected] 
09:57:16.493 [info] Application p1_xml started on node [email protected] 
09:57:16.507 [info] Application p1_stringprep started on node [email protected] 
09:57:16.511 [info] Application p1_zlib started on node [email protected] 
09:57:16.519 [info] Application cache_tab started on node [email protected] 
09:57:16.677 [info] Application mnesia started on node [email protected] 
09:57:17.179 [info] Application inets started on node [email protected] 
09:57:17.558 [notice] Changed loglevel of //var/log/ejabberd/ejabberd.log to debug 
09:57:17.567 [debug] Supervisor ejabberd_sup started ejabberd_hooks:start_link() at pid <0.239.0> 
09:57:17.575 [debug] Supervisor kernel_safe_sup started pg2:start_link() at pid <0.241.0> 
09:57:17.575 [debug] Supervisor ejabberd_sup started ejabberd_node_groups:start_link() at pid <0.240.0> 
09:57:17.575 [debug] Supervisor ejabberd_sup started ejabberd_system_monitor:start_link() at pid <0.242.0> 
09:57:17.577 [debug] Supervisor ejabberd_sup started ejabberd_router:start_link() at pid <0.243.0> 
09:57:17.579 [debug] Supervisor ejabberd_sup started ejabberd_router_multicast:start_link() at pid <0.249.0> 
09:57:17.582 [debug] Supervisor ejabberd_sup started ejabberd_s2s:start_link() at pid <0.255.0> 
09:57:17.584 [debug] Supervisor ejabberd_sup started ejabberd_local:start_link() at pid <0.265.0> 
09:57:17.585 [debug] The option captcha_cmd is not configured, but some module wants to use the CAPTCHA feature. 
09:57:17.587 [debug] Supervisor ejabberd_sup started ejabberd_captcha:start_link() at pid <0.271.0> 
09:57:17.587 [debug] Supervisor ejabberd_sup started ejabberd_tmp_sup:start_link(ejabberd_s2s_in_sup, ejabberd_s2s_in) at pid <0.273.0> 
09:57:17.587 [debug] Supervisor ejabberd_sup started ejabberd_tmp_sup:start_link(ejabberd_s2s_out_sup, ejabberd_s2s_out) at pid <0.274.0> 
09:57:17.587 [debug] Supervisor ejabberd_sup started ejabberd_tmp_sup:start_link(ejabberd_service_sup, ejabberd_service) at pid <0.275.0> 
09:57:17.587 [debug] Supervisor ejabberd_sup started ejabberd_tmp_sup:start_link(ejabberd_iq_sup, gen_iq_handler) at pid <0.276.0> 
09:57:17.588 [debug] Supervisor ejabberd_sup started ejabberd_tmp_sup:start_link(ejabberd_frontend_socket_sup, ejabberd_frontend_socket) at pid <0.277.0> 
09:57:17.588 [debug] Supervisor ejabberd_sup started ejabberd_listener:start_link() at pid <0.278.0> 
09:57:17.591 [info] Application protobuffs started on node [email protected] 
09:57:17.591 [info] Application riak_pb started on node [email protected] 
09:57:17.591 [info] Application riakc started on node [email protected] 
09:57:17.600 [debug] Supervisor inet_gethost_native_sup started undefined at pid <0.289.0> 
09:57:17.600 [debug] Supervisor kernel_safe_sup started inet_gethost_native:start_link() at pid <0.288.0> 

Мне удалось получить более подробную информацию об отладке ejabberdctl. Кажется, что проблема связана с именем узла, но точно такая же конфигурация работает нормально, если я не добавляю Riak в файл ejabberd.yml.

tail: cannot open ‘/var/log/ejabberd/crash.log’ for reading: No such file or directory 
tail: cannot open ‘/var/log/ejabberd/error.log’ for reading: No such file or directory 
tail: cannot open ‘/var/log/ejabberd/erlang.log’ for reading: No such file or directory 
{error_logger,{{2016,2,4},{19,30,38}},"Invalid node name: ~p~n",['debug-not a [email protected]']} 
{error_logger,{{2016,2,4},{19,30,38}},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,[{file,"gen_server.erl"},{line,322}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]}},{ancestors,[net_sup,kernel_sup,<0.10.0>]},{messages,[]},{links,[<0.17.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,987},{stack_size,27},{reductions,902}],[]]} 
{error_logger,{{2016,2,4},{19,30,38}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfargs,{net_kernel,start_link,[['debug-not a tty-ejabberd',shortnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]} 
{error_logger,{{2016,2,4},{19,30,38}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]} 
{error_logger,{{2016,2,4},{19,30,38}},crash_report,[[{initial_call,{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}},{pid,<0.9.0>},{registered_name,[]},{error_info,{exit,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,133}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]}},{ancestors,[<0.8.0>]},{messages,[{'EXIT',<0.10.0>,normal}]},{links,[<0.8.0>,<0.7.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,376},{stack_size,27},{reductions,117}],[]]} 
{error_logger,{{2016,2,4},{19,30,38}},std_info,[{application,kernel},{exited,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}}},{type,permanent}]} 
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}}}"} 

Crash dump was written to: //var/log/ejabberd/erl_crash_20160204-193037.dump 
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{k 

**** Обновление ****

Причина, по которой это происходит потому, что я не уточнил --net подключение к сети в моей команде Docker запуска и поэтому он не мог найти сеть. К сожалению, нет отладки, чтобы указать, что он просто вешает навсегда (это произойдет в общем случае, когда сеть, в которой размещается кластер Riak, не может быть найдена и является кошмаром для отладки).

Я до сих пор не знаю, почему флаг «debug» вызывает добавление tty к имени узла, но я подозреваю, что это как-то связано, когда я исправил его, который также переставал появляться.

Любой интересно узнать детали можно увидеть его здесь https://github.com/rroemhild/docker-ejabberd/issues/81#issuecomment-181133336

+0

предоставить более подробный журнал ejabberd и riak. –

+0

Обновлен весь журнал, но последние несколько строк являются единственными различиями между успешной установкой против Mnesia и Riak: S – stevenlivz

+0

вы установили ejabberd из исходного кода или двоичного установщика? вы должны переустановить ejabberd как пользователь root. –

ответ

0

Вы начинаете Erlang VM с именем недействительный узла:

{error_logger,{{2016,2,4},{19,30,38}},"Invalid node name: ~p~n",['debug-not a [email protected]']} 

Проверьте, где вы настроили это: 'debug-not a [email protected]', как это действительно недействительное имя узла кластера Erlang VM.

+0

Спасибо @ Mickaël - я отлаживаю это сейчас. Я убрал большую часть скрипта и сосредоточился на этом. – stevenlivz

+0

Знаете ли вы, в какой момент это может быть назначено. Кажется, у меня все настройки настроены правильно, но только когда я запускаю 'ejabberdctl debug', что я получаю это (я пытаюсь отлаживать, почему он не подключается к кластеру Riak, но это мешает мне найти это). Если я не использую debug, но вместо этого, используя live, он запускает штраф (но, увы, не подключается к Riak). – stevenlivz

Смежные вопросы