Erlang 版本 18.0 和 ejabberd nodename 冲突

Erlang version 18.0 and ejabberd nodename conflict

我想从 https://github.com/processone/ejabberd. For this, Erlang/OTP 18 is required. That too, i have manually installed from https://github.com/erlang/otp 安装最新的 ejabberd。然后,我需要使用命令 ejabberdctl start 启动 ejabberd 服务器。但其中有一些错误。 我的 mnesia 节点名称是 akash@akash-Latitude-3450,ejabberd 节点名称是 akash@localhost。因此,服务器没有启动。如何解决这个冲突?

日志 ->

2016-01-07 18:38:20.410 [critical] <0.39.0>@ejabberd_app:db_init:125 Node name mismatch: I'm [ejabberd@localhost], the database is owned by ['ejabberd@akash-Latitude-3450']

2016-01-07 18:38:20.410 [critical] <0.39.0>@ejabberd_app:db_init:127 Either set ERLANG_NODE in ejabberdctl.cfg or change node name in Mnesia

2016-01-07 18:38:20.410 [error] <0.38.0> CRASH REPORT Process <0.38.0> with 0 neighbours exited with reason: node_name_mismatch in ejabberd_app:db_init/0 line 129 in application_master:init/4 line 134

您有两个选择:

  1. 启动 ejabberd 时,使用与 Mnesia 数据库匹配的名称命名您的 Erlang 节点。根据错误消息的建议,可以在 ejabberdctl.cfg.
  2. 中的 var ERLANG_NODE 中进行更改
  3. 通过以旧名称启动节点来备份 Mnesia 数据库,进行全新安装并使用以新名称启动的节点恢复数据。