2015-09-22 15 views
0

创建一个新的节点我是新来mongooseIM,我想创建一个新的节点([email protected]),但是当我尝试运行此命令:在MongooseIM

bin/mongooseimctl add_to_cluster [email protected] 

我收到以下错误:

Error: /usr/lib/mongooseim/[email protected] already exists. Please remove whole directory before continuing.

如何在不删除默认节点[email protected]的情况下创建新节点?

我有以下配置:

在我​​配置文件:

-sname [email protected] 

etc/ejabberd.cfg文件:

{hosts, ["myhostname.com”] }. 

我mongooseIM目录:

/usr/lib/mongooseim 
bin 
erl_crash.dump 
erts-6.0 
etc 
lib 
log 
[email protected] 
releases 
var 
sudo bin/mongooseimctl status 
The node [email protected] is started with status: started 

MongooseIM版本1.5.0正在该节点上运行。

+0

我不能确认MongooseIM行为(在手机上),但错误消息似乎与引用的配置不一致。用sname myhostname.com,错误不应该提到localhost。不过,这是集群中的第一个节点吗?服务器正在运行吗?你需要Mnesia目录中的数据吗? – erszcz

回答

0

ejabberd中的聚类基于Mnesia。一旦为Mnesia中的给定节点名称创建了模式,以后就不能更改它。

在您的情况下,您使用主机名称localhost定义了您的节点名称。这意味着你只能创建一个本地机器的集群(几个Erlang节点)。这可能不是你想要的。

因此,如果您想更改ejabberd节点名称,您需要从Mnesia数据库导出数据,删除Mnesia数据库文件夹,将群集节点名称更改为新的数据库并重新导入数据。这里是ejabberd的教程,应该让你走上正轨:http://docs.ejabberd.im/admin/guide/managing/#change-computer-hostname

+0

感谢您的回复,我解决了这个问题。我用的是节点的短名称,而不是在vm.args长文件名的文件 前: ##节点的名称 -sname [email protected] 后: -name [email protected] –