2016-01-07 2 views
0

Я хотел установить последний ejabberd от https://github.com/processone/ejabberd. Для этого требуется Erlang/OTP 18. Это тоже, я установил вручную с https://github.com/erlang/otp. Затем мне нужно запустить сервер ejabberd командой ejabberdctl start. Но в этом есть некоторая ошибка. Мое имя узла mnesia: [email protected] и ejabberd nodename - [email protected]. Из-за этого сервер не запускается. Как разрешить этот конфликт?Erlang версия 18.0 и ejabberd nodename конфликт

Log ->

2016-01-07 18: 38: 20,410 [критическая] < 0.39.0> @ejabberd_app: db_init: 125 Имя узла несовпадение: Я [ejabberd @ локальный], база данных принадлежит [ 'ejabberd @ Акаши-широтно-3450']

2016-01-07 18: 38: 20,410 [критическая] < 0.39.0> @ejabberd_app: db_init: 127 Либо установить ERLANG_NODE в ejabberdctl. cfg или имя узла изменения в Mnesia

2016-01-07 18: 38: 20.410 [error] < 0.38.0> CRASH REPORT Proce сс < 0.38.0> с 0 соседей вышли с разумом: node_name_mismatch в ejabberd_app: db_init/0 линии 129 в application_master: инициализации/4 линии 134

ответ

1

У вас есть два варианта:

  1. имя Ваш Erlang узел с именем, соответствующим вашей базе данных Mnesia при запуске ejabberd. Как было предложено в сообщении об ошибке, его можно изменить в var ERLANG_NODE в ejabberdctl.cfg.
  2. Резервное копирование базы данных Mnesia путем запуска узла под старым именем, выполните новую установку и восстановите свои данные с помощью узла, начинающегося с нового имени.
+0

Спасибо за это. Но как настроить mnesia? – Akash

+0

@Akash Существует еще один вопрос о переполнении стека (http://stackoverflow.com/questions/463400/how-to-rename-the-node-running-a-mnesia-database), в котором подробно описывается, как создавать резервные копии Mnesia и восстанавливать их с другим именем узла, если вы будете следовать варианту 2 ответа Микаэля Ремонда. – Michael

+0

Mnesia использует имя узла Erlang VM. если вы начинаете ejabberd с помощью ejabberdctl, вы можете настроить его в ejabberdctl.cfg, как уже упоминалось. –

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