【发布时间】:2019-01-17 13:24:10
【问题描述】:
设置详情
2 个以 postgresql 作为数据库的 ejabberd 节点(操作系统:Ubuntu 16.04)
尝试对两个 ejabberd 进行聚类,如
https://docs.ejabberd.im/admin/guide/clustering/
启动主节点后,在从节点上执行了以下步骤
- 复制.erlang.cookie到从节点
- 将 ejabbed.yml 从主机复制到从机。
slave 启动成功,但显示以下错误。
=====错误=========
Eshell V9.2(使用 ^G 中止) (ejabberd@gim-Veriton-M6650G)1> 18:29:41.856 [通知] 将 /usr/local/var/log/ejabberd/error.log 的 loghwm 更改为 100 18:29:41.856 [通知] 将 /usr/local/var/log/ejabberd/ejabberd.log 的 loghwm 更改为 100 18:29:41.857 [info] 应用程序在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.860 [info] 应用程序加密在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.865 [info] 应用程序 sasl 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.871 [info] 应用程序 asn1 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.871 [info] 应用程序 public_key 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.880 [信息] 应用程序 ssl 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.881 [info] 应用程序 p1_utils 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.883 [info] 应用程序 fast_yaml 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.888 [info] 应用程序 fast_tls 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.892 [info] 应用程序 fast_xml 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.895 [info] 应用程序 stringprep 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.899 [info] 应用程序 xmpp 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.903 [info] 应用程序 cache_tab 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.910 [info] 应用程序 eimp 在节点“ejabberd@gim-Veriton-M6650G”上启动 18:29:41.910 [info] 从 /usr/local/etc/ejabberd/ejabberd.yml 加载配置 18:29:41.913 [错误] 崩溃报告进程 与 0 个邻居退出,原因是:没有 case 子句匹配 ejabberd_config:get_config_option_key/2 第 473 行中的 > 在 application_master:init/4 第 134 行 18:29:41.913 [info] 应用程序 ejabberd 退出,原因是:ejabberd_config:get_config_option_key/2 第 473 行中没有匹配 > 的 case 子句
(ejabberd@gim-Veriton-M6650G)1>
我也尝试过重新创建 mnesia DB,但没有帮助。
ejabberdctl status 显示 ejabberd 未在该节点中运行
能否请一些 oe 调查问题并提供帮助。
【问题讨论】:
-
有人能确认一下master和slave上的ejabberd.yml文件是否完全相同..?
-
是的,两个文件应该相同。阅读您的错误后,您的 ejabberd 配置文件中似乎存在语法错误。
-
如果您需要集群,我可以推荐 Tigase XMPP Server (tigase.net) - 它具有集群自动发现功能,只需要提供相同的 JDBC url(数据库详细信息)