【问题标题】:how to set up ejabberd cluster?如何设置 ejabberd 集群?
【发布时间】:2014-06-27 20:22:43
【问题描述】:

我正在使用 2 个安装了 ejabberd 13.12 的 ec2 实例。我正在关注this guide 来设置集群。当我运行命令时在第二个节点上 -

 erl -sname ejabberd \

-mnesia dir '"/var/lib/ejabberd/"' \

-mnesia extra_db_nodes "['ejabberd@first']" \

-s mnesia

在第一个节点上发生错误 -

Application ejabberd started on node ejabberd@ejabberdn1
dets: file "/var/lib/ejabberd/schema.DAT" not properly closed, repairing ...

=SUPERVISOR REPORT==== 27-May-2014::07:11:59 ===
 Supervisor: {local,mnesia_kernel_sup}
 Context:    child_terminated
 Reason:     killed
 Offender:   [{pid,<0.152.0>},
              {name,mnesia_locker},
              {mfargs,{mnesia_locker,start,[]}},
              {restart_type,permanent},
              {shutdown,3000},
              {child_type,worker}]


=SUPERVISOR REPORT==== 27-May-2014::07:11:59 ===
 Supervisor: {local,mnesia_kernel_sup}
 Context:    shutdown
 Reason:     reached_max_restart_intensity
 Offender:   [{pid,<0.152.0>},
              {name,mnesia_locker},
              {mfargs,{mnesia_locker,start,[]}},
              {restart_type,permanent},
              {shutdown,3000},
              {child_type,worker}]

它给出了第二个节点上的 mnesia 网络分区错误。如何解决这个问题?

【问题讨论】:

  • 你想说什么?
  • 关闭两台服务器,然后删除两台机器上的所有 DAT 文件,然后重试。
  • 这些文件在 ubuntu 中的什么位置?
  • @NathanielWaisbrot 我已经从 /var/lib/ejabberd/ 中删除了所有文件,但随后也出现了同样的问题。
  • 你不会做一些奇怪的事情,比如在两个节点之间共享相同的/var/lib/ejabberd,对吧?您的 Mnesia DB 已损坏。要么它当前已损坏,并且您在重试之前清理得不够好,要么它被您正在做的事情损坏了。在日志中查找其他错误。考虑在 VM 下运行每个节点,以确保它不会被您周围的其他进程破坏。

标签: erlang ejabberd


【解决方案1】:

最好在设置好主机名等后清除本地数据库文件并让 ejabberd 重新生成它们。

我已经按照this 指南在两个节点上运行到第 5 步,然后(因为我不想使用此自定义模块进行数据库同步)我去了the guide 你提到的并做了按照您当前的尝试手动进行数据库同步。 (我仍然花了半天的时间来追踪所有错误,但是通过上述指南和谷歌搜索日志文件中的错误消息,它终于解决了。;)

【讨论】:

  • 在本地网络上,上述方法效果很好。当我在 AWS ec2 上创建集群时会出现问题。
  • 我已遵循这两个指南。但同样的问题发生了。
  • 嗯,好的,我的集群实际上是通过 VPN 运行的(工作正常 + 安全通道),但我没有本地网络之外的经验,抱歉
【解决方案2】:

最后,我解决了我的问题。问题在于 Erlang OTP 版本。我使用的是 Ejabberd 13.12 和 Erlang OTP 15B1 。尽管这种组合在本地网络中运行良好,但在 AWS EC2 上运行不正常。现在我已经用 OTP 17 替换了 Erlang OTP 版本,我的集群工作正常。

【讨论】:

    猜你喜欢
    • 2015-11-01
    • 2020-10-02
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多