반응형
RabbitMQ 설치하고 rabbitmqctl status 같은 명령어 썼는데 갑자기 에러 뿜는 경우 있음.
Error: unable to perform an operation on node 'rabbit@WIN-xxx'
TCP connection succeeded but Erlang distribution failed
이게 뭐냐? 나도 처음엔 당황했는데 알고 보니까 윈도우에 설치할 때 생기는 기본 구조 문제
원인 정리 – .erlang.cookie 문제
RabbitMQ는 내부적으로 Erlang 기반으로 동작하는데, 분산 노드 간 인증을 .erlang.cookie 파일로 함.
문제는 뭐냐면...
- RabbitMQ 서버는 윈도우 서비스(LocalSystem 계정) 로 돌아가고
- 내가 CLI 명령어(rabbitmqctl 등) 실행할 땐 로그인한 사용자 계정으로 실행됨
즉, 같은 컴퓨터인데도 서로 다른 계정이라 쿠키도 각각 다르게 생성돼 있음.
실행 주체쿠키 파일 위치
RabbitMQ 서비스 | C:\Windows\System32\config\systemprofile\.erlang.cookie |
CLI 명령어 실행하는 사용자 | C:\Users\{내 계정}\.erlang.cookie |
결과? 쿠키 내용이 다르니까 서로 인증이 안 됨.
해결 방법 – 쿠키 통일시키자
- 서비스 쪽 쿠키 파일 확인
- 위치: C:\Windows\System32\config\systemprofile\.erlang.cookie
- 그 파일을 내 사용자 폴더에 복사
-
cmd
copy "C:\Windows\System32\config\systemprofile\.erlang.cookie" "%HOMEPATH%\.erlang.cookie"
- 파일 속성도 중요함
- 읽기 전용 체크
- 보안 탭에서 나한테만 읽기 권한 주는 거 확인
- 다시 명령어 실행해보자
cmd
rabbitmqctl status
추가 팁
- CMD는 웬만하면 관리자 권한으로 켜는 게 낫다
- Erlang 포트 통신(4369, 25672 등)에서 권한 문제 생길 수 있음
요약
항목내용
문제 원인 | RabbitMQ 서비스와 CLI 계정이 쿠키 파일 다르게 들고 있음 |
해결 방법 | 서비스 쪽 쿠키를 내 사용자 폴더로 복사 |
주의 사항 | 권한 설정, CMD 관리자 실행 추천 |
반응형
'C#' 카테고리의 다른 글
Fuslogvw 어셈블리 바인딩 실패 추적 도구 사용법 (0) | 2025.02.18 |
---|---|
비동기 환경에서의 스레드 충돌 문제와 해결 방안 (2) | 2025.01.05 |
error MSB4006 에러 해결 -> .net framework 참조 방식 변경 (1) | 2024.12.27 |
.NET Core Model 유효성 검사 응답 처리 방법 (0) | 2024.08.26 |
C#에서 동기메서드를 비동기 방식으로 처리하는 방법 (0) | 2024.08.22 |