mongooseim群集设置在ubuntu 14.04上发生错误

问题描述 投票:0回答:1

我们正在尝试在同一虚拟网络中的AWS上创建两个mongooseim实例的主 - 主集群。所有必需的端口都在AWS安全组中打开。

我怀疑在Ubuntu 14.04 LTS上使用mongooseim设置有些问题

在其中一个节点上运行join_cluster命令后,我们得到如下错误(参见屏幕截图)错误:{error,{badmatch,{error,eacces}}}

随附详情的屏幕截图。除了vm args之外,服务器配置没有更改,如附带的屏幕截图所示。

这是你的二进制问题吗?还是其他一些小故障?

enter image description hereenter image description here

erlang xmpp cluster-computing ejabberd mongoose-im
1个回答
1
投票

我自己遇到了这个问题。 Mongoose使用erlang内部mnesia存储系统来获取包括集群拓扑在内的许多信息。 mnesia存储的默认路径是/var/lib/mongooseim。当你做一个mongooseimctl join_cluster ...时,它需要擦除它的mnesia商店,并基本上从它加入的集群中提取副本。出现这个问题是因为它还试图删除/var/lib/mongooseim本身,它没有权限,因为正在运行的用户mongooseim将没有父目录/var/lib的权限。也不应该。

我修复它的方法是创建一个子目录,它可以安全地删除并重新创建和配置它以使用它作为mnesia目录:

sudo mkdir /var/lib/mongooseim/mnesia
sudo chown mongooseim:mongooseim /var/lib/mongooseim/mnesia

默认情况下,/etc/mongooseim/app.config中存在mnesia目录的配置。在我的第三行。最初看起来像这样:

{mnesia, [{dir, "/var/lib/mongooseim"}]},

我将路径更改为我创建的新目录

{mnesia, [{dir, "/var/lib/mongooseim/mnesia"}]},

之后,我停下来开始使用mongoose并成功加入了群集

mongooseimctl stop
mongooseimctl start && mongooseimctl started
mongooseimctl join_cluster [email protected]
© www.soinside.com 2019 - 2024. All rights reserved.