无法使用 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