0

Ejabberd 聚类:

我在两个不同的 Digital Ocean Droplet 中设置了两个 Ejabberd 服务器。我正在尝试在这两台服务器上构建集群。我遵循了 Ejabberd 官方文档中的文档,即“ https://docs.ejabberd.im/admin/guide/clustering/

  1. 将 /home/ejabberd/.erlang.cookie 文件从 ejabberd01 复制到 ejabberd02。

  2. 确保我的新 ejabberd 节点配置正确。我在其他集群节点上具有相同配置的新节点上的 ejabberd.yml 配置文件。

  3. 然后,当我尝试使用以下命令启动集群时: $ ejabberdctl --no-timeout join_cluster 'ejabberd@ejabberd01'

我收到以下错误:

args: []
format: "Error when reading /opt/ejabberd/.erlang.cookie: eacces"
label: {error_logger,error_msg}

请帮我解决这个问题。

先感谢您

4

1 回答 1

1

错误消息中的那个eacess东西实际上是POSIX 标准化EACCESS的错误返回码:

[EACCES] 权限被拒绝。试图以文件访问权限禁止的方式访问文件。

换句话说,运行 ejabberd 节点的 Erlang BEAM 进程使用的凭据不足以打开 Erlang cookie 文件/opt/ejabberd/.erlang.cookie

你可以从这里开始了解 Erlang cookie 是什么的更多背景知识。

于 2018-10-17T10:47:22.890 回答