Я использую Hazelcast в режиме обнаружения EC2, чтобы OrientDB мог работать в распределенном режиме. Узлы работают в одной группе безопасности под одной и той же ролью EC2. Плагин успешно обнаруживает другие узлы, но не может подключиться через порты 5701-5703. Вот сообщение об ошибке:
2019-05-31 19: 44: 45: 303 ИНФОРМАЦИЯ [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>