我们正在尝试在同一虚拟网络中的AWS上创建两个mongooseim实例的主 - 主集群。所有必需的端口都在AWS安全组中打开。
我怀疑在Ubuntu 14.04 LTS上使用mongooseim设置有些问题
在其中一个节点上运行join_cluster命令后,我们得到如下错误(参见屏幕截图)错误:{error,{badmatch,{error,eacces}}}
随附详情的屏幕截图。除了vm args之外,服务器配置没有更改,如附带的屏幕截图所示。
这是你的二进制问题吗?还是其他一些小故障?
我自己遇到了这个问题。 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]