2016-08-18 2 views
0

Я вижу проблему при попытке сгруппировать ejabberd 16.06 с уже запущенным 15.11. Я выдаю команду join_cluster с машины 16.06. При выпуске list_cluster я вижу, что он сгруппирован с версией 15.11. Во время перезагрузки 15.11 машины, я вижу, что это ejabberd не запускается, журналы показывают ошибку ниже: -Какова проблема, наблюдаемая ниже при кластеризации ejabberd 16.06 с 15.11?

2016-08-17 11:36:54.479 [debug] <0.363.0> Supervisor ejabberd_sup started ejabberd_hooks:start_link() at pid <0.364.0>
2016-08-17 11:36:54.481 [debug] <0.32.0> Supervisor kernel_safe_sup started pg2:start_link() at pid <0.366.0>
2016-08-17 11:36:54.499 [debug] <0.363.0> Supervisor ejabberd_sup started ejabberd_node_groups:start_link() at pid <0.365.0>
2016-08-17 11:36:54.499 [debug] <0.363.0> Supervisor ejabberd_sup started ejabberd_system_monitor:start_link() at pid <0.367.0>
2016-08-17 11:36:54.499 [error] <0.368.0> CRASH REPORT Process <0.368.0> with 0 neighbours exited with reason: no case clause matching [domain,server_host,pid,local_hint] in ejabberd_router:update_tables/0 line 397 in gen_server:init_it/6 line 330
2016-08-17 11:36:54.499 [error] <0.363.0> Supervisor ejabberd_sup had child ejabberd_router started with ejabberd_router:start_link() at undefined exit with reason no case clause matching [domain,server_host,pid,local_hint] in ejabberd_router:update_tables/0 line 397 in context start_error
2016-08-17 11:36:54.502 [error] <0.37.0> CRASH REPORT Process <0.37.0> with 0 neighbours exited with reason: no such process or port in call to gen_server:call(ejabberd_sup, {start_child,{ejabberd_sm,{ejabberd_sm,start_link,[]},transient,1000,worker,[ejabberd_sm]}}, infinity) in application_master:init/4 line 133
2016-08-17 11:36:54.502 [info] <0.7.0> Application ejabberd exited with reason: no such process or port in call to gen_server:call(ejabberd_sup, {start_child,{ejabberd_sm,{ejabberd_sm,start_link,[]},transient,1000,worker,[ejabberd_sm]}}, infinity)

Является ли это то, что уже известно? Пожалуйста, помогите с этим.

Кроме того, в этой настройке кластера также нарушена функциональность Pub-sub. я вижу ошибку ниже при попытке создать профиль, используя 15.11 ejabberd (уже сгруппированы с 16.06): -

2016-08-16 12:53:20.653 [debug] <0.400.0>@ejabberd_router:do_route:324 route from {jid,<<>>,<<"pubsub.ejabberd">>,<<>>,<<>>,<<"pubsub.ejabberd">>,<<>>} to {jid,<<"xx-user">>,<<"xx.ejabberd">>,<<>>,<<"xx-user">>,<<"xx.ejabberd">>,<<>>} packet {xmlel,<<"iq">>,[{<<"id">>,<<"xx-user-57ae15fde4b057aa64db2a5c-19-1471331160286">>},{<<"type">>,<<"result">>}],[{xmlel,<<"pubsub">>,[{<<"xmlns">>,<<" http://jabber.org/protocol/pubsub ">>}],[{xmlel,<<"create">>,[{<<"node">>,<<"AMS-profile1">>}],[]}]}]}
2016-08-16 12:53:20.653 [error] <0.400.0>@ejabberd_router:route:77 {{badrecord,route},[{ejabberd_router,do_route,3,[{file,"src/ejabberd_router.erl"},{line,364}]},{ejabberd_router,route,3,[{file,"src/ejabberd_router.erl"},{line,75}]},{mod_pubsub,handle_info,2,[{file,"src/mod_pubsub.erl"},{line,859}]},{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,593}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,659}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]} when processing: {{jid,<<>>,<<"pubsub.ejabberd">>,<<>>,<<>>,<<"pubsub.ejabberd">>,<<>>},{jid,<<"xx-user">>,<<"xx.ejabberd">>,<<>>,<<"xx-user">>,<<"xx.ejabberd">>,<<>>},{xmlel,<<"iq">>,[{<<"id">>,<<"xx-user-57ae15fde4b057aa64db2a5c-19-1471331160286">>},{<<"type">>,<<"result">>}],[{xmlel,<<"pubsub">>,[{<<"xmlns">>,<<" http://jabber.org/protocol/pubsub ">>}],[{xmlel,<<"create">>,[{<<"node">>,<<"AMS-profile1">>}],[]}]}]}}

ответ

0

Вы должны использовать ту же версию ejabberd на всех узлах кластера. Нет гарантии, что кластер будет работать по другой версии. Иногда это может работать, но общее правило заключается в том, что он не должен работать.

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