Запуск ejabberdctl прошел успешно, но статус и остановка не смогли подключиться к узлу

Я следовал этому руководству, чтобы настроить Jabbed на кластере http://chadillac.github.io/2012/11/17/easy-ejabberd-clustering-guide-mnesia-mysql/

Я использую два экземпляра с ip

Главный -> 111.222.333.444 Ведомый -> 222.333.444.555

Но поскольку у меня не настроен DNS, я использую IP-адреса, такие как 111.222.333.444 и т. д., вместо «master.domain.com».

Мне еще не удалось увидеть кластер, но до этого у меня возникла проблема на моем главном узле.

Я запускаю сервер с

/tmp/ej1809/sbin/ejabberdctl start

Затем я не получаю вывода, но вижу в журналах, что сервер запущен.

затем я проверяю статус, используя

/tmp/ej1809/sbin/ejabberdctl status 

Но я получаю ошибку как

Failed RPC connection to the node '[email protected]’: nodedown

И даже когда я пытаюсь остановить узел с помощью /tmp/ej1809/sbin/ejabberdctl stop, я также получаю

Failed RPC connection to the node '[email protected]’: nodedown

Но я не могу понять причину этого.

Может ли кто-нибудь помочь мне решить это, пожалуйста?


person abhishek ranjan    schedule 05.04.2019    source источник
comment
Является ли 111.222.333.444 реальным IP-адресом машины, который могут использовать программы? Я имею в виду, если вы наберете ping 111.222.333.444, это сработает?   -  person Badlop    schedule 05.04.2019
comment
да, это настоящая машина (не могу поделиться фактическим IP-адресом). и да, пинг 111.222.333.444 работает. Я уже проверил.   -  person abhishek ranjan    schedule 08.04.2019


Ответы (1)


Остановить и убить такие процессы, как epmd, erl, beam.

Затем запустите ejabberd с параметром «ejabberdctl live», который будет держать оболочку erlang открытой, чтобы вы могли видеть сообщения журнала в реальном времени, включая имя узла erlang:

...
13:21:22.662 [info] ejabberd 19.02.52 is started in the node ejabberd@localhost in 7.07s
13:21:22.667 [info] Start accepting TCP connections at 0.0.0.0:5444 for ejabberd_http
13:21:22.667 [info] Application ejabberd started on node ejabberd@localhost

Вы можете проверить, знает ли "epmd" об этом узле:

$ epmd -names
epmd: up and running on port 4369 with data:
name ejabberd at port 33519

Затем посмотрим, может ли ejabberdctl подключиться к этому узлу:

$ ejabberdctl help | grep "node name:"
  --node nodename    ejabberd node name: ejabberd@localhost

И наконец:

$ ejabberdctl status
The node ejabberd@localhost is started with status: started
ejabberd 19.02.52 is running in that node

Я предполагаю, что вы еще ничего не редактировали в ejabberdctl.cfg, особенно ERLANG_NODE. Но если вы это сделали, я рекомендую переустановить ejabberd, чтобы убедиться, что у вас есть конфигурация по умолчанию, а затем повторить эти шаги. Как только ejabberd заработает идеально, вы можете приступить к изменению файлов конфигурации (ejabberd.yml и ejabberdctl.cfg) в соответствии с вашими реальными требованиями (кластеризация и т. д.).

В какой-то момент, если у вас возникнут проблемы с настройкой кластеризации, вы можете найти некоторые идеи по отладке проблемы в https://ejabberd.im/interconnect-erl-nodes/index.html

person Badlop    schedule 08.04.2019
comment
Я проверил это и обнаружил, что при запуске ejabberd без редактирования ERLANG_NODE все работает нормально (т. е. пока узел ejabberd работает как ejaberd@localhost), но когда я редактирую ejabberdctl.cfg, проблема возникает снова. Хотя использование epmd работает нормально. Большое спасибо за дополнительные ссылки и информацию, а также ответ. - person abhishek ranjan; 08.04.2019