こんにちは私はejabberdクラスタを設定しようとしています。 は、しかし、ノード2からノード1に参加しようとする上で、私は、ノード2でErlang - Ejabberd join_clusterエラー:{no_ping ...}
を言ってエラーを取得:
# ejabberdctl join_cluster [email protected]<internal ip of node1>
Error: {no_ping,'[email protected]<internal ip of node1>'}
私がすることができ、明らかにpingノード1ノード2から。
両方のノードがAWSの同じ地域にホストされています。 ノード1のすべてのトラフィックを許可しようとしました。 両方とも同じ.erlang.cookieを持っています。
なぜ私はそのエラーを取得し続けるのか分かりません。 node1で
# ejabberdctl status
The node '[email protected]<internal ip of node1>' is started with status: started
ejabberd 16.03.107 is running in that node
# netstat -lnptu
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 2190/epmd
tcp 0 0 0.0.0.0:5269 0.0.0.0:* LISTEN 2233/beam.smp
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 975/sshd
tcp 0 0 0.0.0.0:52189 0.0.0.0:* LISTEN 2233/beam.smp
tcp 0 0 0.0.0.0:5280 0.0.0.0:* LISTEN 2233/beam.smp
tcp 0 0 0.0.0.0:5222 0.0.0.0:* LISTEN 2233/beam.smp
tcp6 0 0 :::4369 :::* LISTEN 2190/epmd
tcp6 0 0 :::22 :::* LISTEN 975/sshd
ejabberdctl.cfg:node1で
[email protected]<internal IP of node1>
ejabberd.yml:
loglevel: 4
log_rotate_size: 10485760
log_rotate_date: ""
log_rotate_count: 1
log_rate_limit: 100
hosts:
- "<external ip of node1>"
listen:
-
port: 5222
module: ejabberd_c2s
max_stanza_size: 65536
shaper: c2s_shaper
access: c2s
-
port: 5269
module: ejabberd_s2s_in
-
port: 5280
module: ejabberd_http
request_handlers:
"/websocket": ejabberd_http_ws
web_admin: true
http_bind: true
captcha: true
auth_method: internal
shaper:
normal: 1000
fast: 50000
max_fsm_queue: 1000
acl:
local:
user_regexp: ""
loopback:
ip:
- "127.0.0.0/8"
access:
max_user_sessions:
all: 10
max_user_offline_messages:
admin: 5000
all: 100
local:
local: allow
c2s:
blocked: deny
all: allow
c2s_shaper:
admin: none
all: normal
s2s_shaper:
all: fast
announce:
admin: allow
configure:
admin: allow
muc_admin:
admin: allow
muc_create:
local: allow
muc:
all: allow
pubsub_createnode:
local: allow
register:
all: allow
trusted_network:
loopback: allow
language: "en"
modules:
mod_adhoc: {}
mod_announce: # recommends mod_adhoc
access: announce
mod_blocking: {} # requires mod_privacy
mod_caps: {}
mod_carboncopy: {}
mod_client_state: {}
mod_configure: {} # requires mod_adhoc
mod_disco: {}
mod_irc: {}
mod_http_bind: {}
mod_last: {}
mod_muc:
host: "[email protected]@"
access: muc
access_create: muc_create
access_persistent: muc_create
access_admin: muc_admin
mod_muc_admin: {}
mod_offline:
access_max_user_messages: max_user_offline_messages
mod_ping: {}
mod_privacy: {}
mod_private: {}
mod_pubsub:
access_createnode: pubsub_createnode
ignore_pep_from_offline: true
last_item_cache: false
plugins:
- "flat"
- "hometree"
- "pep" # pep requires mod_caps
mod_roster: {}
mod_shared_roster: {}
mod_stats: {}
mod_time: {}
mod_vcard:
search: false
mod_version: {}
allow_contrib_modules: true
あなたが両方で 'EPMD -names'を確認することができますか?また、 'epmd'を終了し、' epmd -d'または 'epmd -d -d -d'(デバッグレベルを上げる)でデバッグモードで起動すると、問題を発見するのに役立ちます。 – Amiramix
これはepmd -namesのために得たものです:epmd:データとともにポート4369で稼働しています。 ポート41198で名前ejabberd –
両方でお願いします。 'epmd'は各ノードで別々に動作するデーモンであり、ノード間の接続の確立と維持を担当します。 node1がnode2からの要求を受け入れるように見えるので、もう一方のノードで何が起きているのかを確認する必要があります。 – Amiramix