rabbitMq를 설치하고 기본으로 생성되는 노드를 사용해 localhost로 manager UI를 확인하는게 목표였다. 하지만 이게 이렇게 많은 오류를 마주할 일인가 싶었다.
TCP connection succeeded but Erlang distribution failed
이 에러 메시지는 Erlang 분산 프로토콜을 사용하여 RabbitMQ와 통신할 때 발생할 수 있다. 이 에러는 TCP 연결이 성공했지만, Erlang 분산 프로토콜에 문제가 발생했다는 것을 의미한다.
이 에러가 발생하는 이유는 다양하다. 예를 들어 노드 이름이 잘못 설정되었거나, 서로 다른 Erlang 버전이 사용되었을 때 발생할 수 있다. 또는 방화벽 등 다른 네트워크 구성 요소로 인해 발생할 수도 있다. 하지만 나는 노드를 추가적으로 설정하지 않았기 때문에 노드에 대한 문제는 아니라고 판단했고 의심할 수 있는 부분은 Erlang 버전이 문제가 된 것 이라고 예상하였다. 우선 문제를 해결하기 위해서는 다음과 같은 사항을 확인해보았다.
- RabbitMQ 노드 이름이 올바른지 확인
- 모든 노드에서 동일한 Erlang 버전을 사용하고 있는지 확인
- 방화벽 또는 다른 네트워크 구성 요소가 문제를 일으키지 않도록 설정을 확인
- RabbitMQ 로그 파일을 확인
- RabbitMQ 커뮤니티 또는 지원팀에 문의
나는 Erlang 버전을 인식하지 못해서 발생하는 문제였다. rabbitMq 실행을 위해서는 최소, 최대 Erlang 버전이 있는데 3.9.18 버전을 사용하면서 Erlang은 22.x 버전을 사용하고 있던 것이다. rabbitMq에 맞는 Erlang버전을 다시 재설치하니 정상적으로 모든오류가 해결되었다.
혹시라도 아직 해결되지 않았다면 지금 설치된 Erlang 버전과 RabbitMq 버전이 맞는지 아래 홈페이지를 통해 확인해보길 권장한다.
* RabbitMQ Erlang Version Requirements : https://www.rabbitmq.com/which-erlang.html
RabbitMQ Erlang Version Requirements — RabbitMQ
RabbitMQ Erlang Version Requirements This guide covers Erlang/OTP version requirements, Erlang version support policy, a RabbitMQ/Erlang compatibility matrix, version-specific notes and ways of provisioning recent Erlang/OTP releases. RabbitMQ supports up
www.rabbitmq.com