无法使用 Hazelcast 集群 WSO2 API manager 2.6.0
Cannot cluster WSO2 API manager 2.6.0 using Hazelcast
我正在处理 Hazelcast 集群 WSO2 API 管理器(以下文档:https://docs.wso2.com/display/AM260/Working+with+Hazelcast+Clustering#WorkingwithHazelcastClustering-EnablingHazelcastclustering) 这里我有两个节点在同一个域 127.0.0.1 下。
让我们假设 A 在端口 4001 中是 运行,而 B 在端口 4002 中是 运行。我已将两个节点加入为
A -
<members>
<member>
<hostName>127.0.0.1</hostName>
<port>4002</port>
</member>
<member>
<hostName>127.0.0.1</hostName>
<port>4001</port>
</member>
</members>
B -
<members>
<member>
<hostName>127.0.0.1</hostName>
<port>4001</port>
</member>
<member>
<hostName>127.0.0.1</hostName>
<port>4001</port>
</member>
</members>
我也试过;
A -
<members>
<member>
<hostName>127.0.0.1</hostName>
<port>4002</port>
</member>
</members>
B -
<members>
<member>
<hostName>127.0.0.1</hostName>
<port>4002</port>
</member>
</members>
但是两种方法返回如下
2019-11-27 13:23:16,763] INFO - SocketAcceptor [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Accepting socket connection from /127.0.0.1:51206
[2019-11-27 13:23:16,763] INFO - TcpIpConnectionManager [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Established socket connection between /127.0.0.1:4001
[2019-11-27 13:23:16,764] WARN - TcpIpConnectionManager [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Wrong bind request from Address[127.0.0.1]:0! This node is not requested endpoint: Address[127.0.0.1]:4001
[2019-11-27 13:23:16,764] INFO - TcpIpConnection [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Connection [/127.0.0.1:51206] lost. Reason: Socket explicitly closed
[2019-11-27 13:23:44,354] INFO - TcpIpConnectionManager [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Established socket connection between /127.0.0.1:51211
[2019-11-27 13:23:44,359] INFO - TcpIpConnection [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Connection [Address[127.0.0.1]:4002] lost. Reason: java.io.EOFException[Remote socket closed!]
[2019-11-27 13:23:44,360] WARN - ReadHandler [127.0.0.1]:0 [wso2.am.domain] [3.5.4] hz.wso2.am.domain.instance.IO.thread-in-1 Closing socket to endpoint Address[127.0.0.1]:4002, Cause:java.io.EOFException: Remote socket closed!
如何解决这个问题?
[问题已解决]
答案是“使用本地机器 IP 而不是 localhost”。有 02 个选项。
选项 01
将以下内容添加到 tasks/main.yml
# Get local IP
- name: get local ip
debug:
var: ansible_default_ipv4.address
这对 site.yml
- hosts: localhost
connection: local
选项 02
将以下代码段添加到 site.yml
---
- hosts: localhost
roles:
- carbon
connection: local
tasks:
- debug: var=ansible_all_ipv4_addresses
- debug: var=ansible_default_ipv4.address
我正在处理 Hazelcast 集群 WSO2 API 管理器(以下文档:https://docs.wso2.com/display/AM260/Working+with+Hazelcast+Clustering#WorkingwithHazelcastClustering-EnablingHazelcastclustering) 这里我有两个节点在同一个域 127.0.0.1 下。
让我们假设 A 在端口 4001 中是 运行,而 B 在端口 4002 中是 运行。我已将两个节点加入为
A -
<members>
<member>
<hostName>127.0.0.1</hostName>
<port>4002</port>
</member>
<member>
<hostName>127.0.0.1</hostName>
<port>4001</port>
</member>
</members>
B -
<members>
<member>
<hostName>127.0.0.1</hostName>
<port>4001</port>
</member>
<member>
<hostName>127.0.0.1</hostName>
<port>4001</port>
</member>
</members>
我也试过;
A -
<members>
<member>
<hostName>127.0.0.1</hostName>
<port>4002</port>
</member>
</members>
B -
<members>
<member>
<hostName>127.0.0.1</hostName>
<port>4002</port>
</member>
</members>
但是两种方法返回如下
2019-11-27 13:23:16,763] INFO - SocketAcceptor [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Accepting socket connection from /127.0.0.1:51206
[2019-11-27 13:23:16,763] INFO - TcpIpConnectionManager [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Established socket connection between /127.0.0.1:4001
[2019-11-27 13:23:16,764] WARN - TcpIpConnectionManager [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Wrong bind request from Address[127.0.0.1]:0! This node is not requested endpoint: Address[127.0.0.1]:4001
[2019-11-27 13:23:16,764] INFO - TcpIpConnection [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Connection [/127.0.0.1:51206] lost. Reason: Socket explicitly closed
[2019-11-27 13:23:44,354] INFO - TcpIpConnectionManager [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Established socket connection between /127.0.0.1:51211
[2019-11-27 13:23:44,359] INFO - TcpIpConnection [127.0.0.1]:0 [wso2.am.domain] [3.5.4] Connection [Address[127.0.0.1]:4002] lost. Reason: java.io.EOFException[Remote socket closed!]
[2019-11-27 13:23:44,360] WARN - ReadHandler [127.0.0.1]:0 [wso2.am.domain] [3.5.4] hz.wso2.am.domain.instance.IO.thread-in-1 Closing socket to endpoint Address[127.0.0.1]:4002, Cause:java.io.EOFException: Remote socket closed!
如何解决这个问题?
[问题已解决]
答案是“使用本地机器 IP 而不是 localhost”。有 02 个选项。
选项 01
将以下内容添加到 tasks/main.yml
# Get local IP
- name: get local ip
debug:
var: ansible_default_ipv4.address
这对 site.yml
- hosts: localhost
connection: local
选项 02
将以下代码段添加到 site.yml
---
- hosts: localhost
roles:
- carbon
connection: local
tasks:
- debug: var=ansible_all_ipv4_addresses
- debug: var=ansible_default_ipv4.address