Erlang版本18.0和ejabberd节点冲突

时间:2016-01-07 15:06:40

标签: erlang ejabberd mnesia

我想从https://github.com/processone/ejabberd安装最新的ejabberd。为此,需要Erlang / OTP 18。我也是从https://github.com/erlang/otp手动安装的。然后,我需要使用命令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节点名称不匹配:我[ejabberd @ localhost],数据库归[& #39; ejabberd @ akash-Latitude-3450']

     

2016-01-07 18:38:20.410 [critical]< 0.39.0> @ejabberd_app:db_init:127在ejabberdctl.cfg中设置ERLANG_NODE或在Mnesia中更改节点名称

     

2016-01-07 18:38:20.410 [错误]< 0.38.0>崩溃报告过程< 0.38.0>退出0个邻居的原因:ejabberd_app中的node_name_mismatch:application_master中的db_init / 0行129:init / 4行134

1 个答案:

答案 0 :(得分:2)

您有两种选择:

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