我正在尝试使用ejabberd-18.09建立一个ejabberd集群。我看到了该线程Ejabberd Clustering not working,其中的注释表明未安装ejabberd进行集群。 我正在通过ssh在Linux实例上从源代码安装ejabberd,但没有收到询问我是否要为集群安装ejabberd的消息。
我使用以下步骤:
1) wget ejabberd.tgz file
2) tar ejabberd.tgz
3) cd /ejabberd
4) ./autugen.sh
5) ./configure --enable -mysql
6) make
7) sudo make install
当我尝试创建集群时,出现与上述线程相同的错误
Error: {no_ping,ejabberd@node1}
我尝试了命令
net_kernel:verbose(1).
ignored
和
node().
nonode@nohost
所以我的问题是我需要如何安装ejabberd以便将其安装在集群中。
答案 0 :(得分:0)
node().
nonode@nohost
那怎么可能?如果我运行一个简单的erlang节点,则它没有节点名称:
$ erl
Erlang/OTP 20 [erts-9.3.3.3] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:10] [kernel-poll:false]
Eshell V9.3.3.3 (abort with ^G)
1> node().
nonode@nohost
2> q().
ok
但是ejabberd以节点名称开头:
$ ejaberdctl start
$ ejabberdctl debug
Erlang/OTP 20 [erts-9.3.3.3] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:10] [kernel-poll:true]
Eshell V9.3.3.3 (abort with ^G)
(ejabberd@localhost)1> node().
ejabberd@localhost
(ejabberd@localhost)2> q().
ok
实际上,它的节点名在ejabberd日志中以及命令help中都有提及:
$ ejabberdctl | grep nodename
--node nodename ejabberd node name: ejabberd@localhost