eJabberd版本: 22.05操作系统:Ubuntu18.04LTS安装:来自
我们有一个ejabberd集群,其中三个节点具有下面列出的节点名称。
当我们尝试使用以下命令从集群中移除节点时
ejabberdctl leave_cluster 'ejabberd@ltxmpp2.gims'
该命令在节点ltxmpp2.gims抛出错误时发出。
ejabberd@ltxmpp2 2:~$ ejabberdctl leave_cluster 'ejabberd@ltxmpp2.gims‘到节点ejabberd@ltxmpp2.gims’失败的RPC连接:{'EXIT',{undef,[{erl_error,format_exception,[2,error,undef,[{net_adm,ping,[]},{ejabberd_cluster_mnesia,左,1,},{ejabberd_ctl,call_command,4 },{ejabberd_ctl,try_call_command,4,},{ejabberd_ctl,process2,4,]},{ejabberd_ctl,process,2,},{erpc,execute_call,4,},#Fun,#Fun],[]},{ejabberd_ctl,try_call_command,4,},{ejabberd_ctl,process2,4,},{ejabberd_ctl,process,2,},{ejabberd_ctl,process,1,[]}\
启动ejabberd节点的命令:
start Start in server mode
foreground Start in server mode (attached)
foreground-quiet Start in server mode (attached), show only critical messages
live Start in interactive mode, with Erlang shell
iexlive Start in interactive mode, with Elixir shell与正在运行的ejabberd节点交互的命令:
debug Attach an interactive Erlang shell to a running node
iexdebug Attach an interactive Elixir shell to a running node
etop Attach to a running node and start Erlang Top
ping Send ping to the node, returns pong or pang
started|stopped Wait for the node to fully start|stop启动ejabberd节点时的可选参数:
--config-dir dir Config ejabberd: /usr/local/etc/ejabberd
--config file Config ejabberd: /usr/local/etc/ejabberd/ejabberd.yml
--ctl-config file Config ejabberdctl: /usr/local/etc/ejabberd/ejabberdctl.cfg
--logs dir Directory for logs: /usr/local/var/log/ejabberd
--spool dir Database spool dir: /usr/local/var/lib/ejabberd
--node nodename ejabberd node name: ejabberd@ltxmpp2.gims有人能解释一下错误的原因吗。
发布于 2023-04-27 11:57:56
安装:来源:
这意味着您从ubuntu安装了erlang包,并从源代码编译了ejabberd。
错误,undef,[{net_adm,ping,,[]},
如果我正确理解的话,这条长长的错误信息中最相关的部分就是这一行。
这一行可能意味着:
让我们在安装过程中再深入挖掘一下,看看到底是什么问题。
A.1) ubuntu中的文件net_adm.beam包含在包erlang-base中。你有安装那个包裹吗?
安装好了吗?然后:
A.2)检查自己是否可以在erlang安装中使用函数net_adm:ping:
$ erl
Erlang/OTP 25 [erts-13.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
Eshell V13.2 (abort with ^G)
1> net_adm:ping('aaaa').
pang
2> q().它在一个简单的erlang壳中工作吗?然后:
A.3)检查ejabberd安装是否可以使用函数net_adm:ping:
$ ejabberdctl live
...
(ejabberd2@localhost)1> net_adm:ping('aaaa').
pang
(ejabberd2@localhost)2> q().
ok( B)这一功能早在二郎时代就被纳入了.您安装了什么erlang版本?
https://serverfault.com/questions/1129812
复制相似问题