我在EC2发现模式下使用Hazelcast,以允许OrientDB在分布式模式下运行。这些节点在相同的安全组中以相同的EC2角色运行。插件成功发现其他节点,但无法通过端口5701-5703连接。这是错误消息:
2019-05-31 19:44:45:303 INFO [10.4.31.181]:5701 [orientdb] [3.8.4]无法连接至:/10.4.26.235:5703。原因:SocketException [连接超时,地址为/10.4.26.235:5703] [InitConnectionTask]
我检查是否有进程正在侦听其他节点(lsof -i -P -n)上的那些端口,并发现了这些条目
java 10023 root 91u IPv6 357165 0t0 TCP *:2424 (LISTEN)
java 10023 root 92u IPv6 357166 0t0 TCP *:2480 (LISTEN)
java 10023 root 135u IPv6 357826 0t0 TCP *:5701 (LISTEN)
似乎所有OrientDB侦听器都在使用IPv6,尽管我从未在任何地方启用它(没有IPv4侦听器)。如何使用IP4收听?这是安装后在hazelcast.xml中唯一更改的内容。
<network>
<join>
<multicast enabled="false"/>
<aws enabled="true">
<tag-key>Name</tag-key>
<tag-value>orientdb-test</tag-value>
</aws>
</join>
</network>