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

#amazon-ec2 #erlang #ejabberd #ejabberd-module

#amazon-ec2 #erlang #ejabberd #ejabberd-module

Вопрос:

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

Я использую два экземпляра was, имеющих 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 'ejabberd@111.222.333.444’: nodedown
  

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

 Failed RPC connection to the node 'ejabberd@111.222.333.444’: nodedown
  

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

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

Комментарии:

1. Является ли 111.222.333.444 реальным IP-адресом компьютера, который могут использовать программы? Я имею в виду, если вы вызовете «ping 111.222.333.444», это сработает?

2. да, это реальная машина (не удалось совместно использовать фактический IP-адрес). и да, «ping 111.222.333.444» работает. Я это уже проверил.

Ответ №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

Комментарии:

1. Я проверил это и обнаружил, что при запуске ejabberd без редактирования «ERLANG_NODE» все работает нормально (т. Е. До тех пор, пока узел ejabberd работает как ejaberd @localhost), но когда я редактирую ejabberdctl.cfg, проблема всплыла. Хотя использование epmd работает нормально. Большое спасибо за дополнительные ссылки и информацию, а также за ответ.