개발.log/rabbitMQ

[RabbitMQ] "WARNING: Using RABBITMQ_ADVANCED_CONFIG_FILE: C:\Users\Judy\AppData\Roaming\RabbitMQ\advanced.config"/ rabbitmq 구성파일 / rabbitMQ 오류

개발하는 주디씨 2023. 4. 18. 14:39

 

"WARNING: Using RABBITMQ_ADVANCED_CONFIG_FILE: C:\Users\Judy\AppData\Roaming\RabbitMQ\advanced.config"

 

하나 해결하면 하나가 문제고, 계속 Warning만 발생하고 localhost로 manager UI도 열리지 않았다... 이때 RabbitMq 서버를 재실행하고 컴퓨터를 재부팅하고 Erlang을 다시 설치해보고 해볼 수 있는 여러가지 방법으로 오류해결을 시도했었다. 이때, 어떤 과정으로 삽질 했는지 포스팅하려고 한다.

 

RabbitMQ의 구성 파일(rabbitmq.config)은 일반적으로 RabbitMQ의 동작 방식 및 기능을 구성하는 데 사용된다. RabbitMQ 서버에서 사용되는 구성 파일을 편집하려면 다음과 같이 설정하면 된다. 구성 파일을 편집하기 전 여러 버전을 다운받아보며 삽질해본 결과 버전마다 구성 파일을 인식하는 기본 위치가 다르다는 것을 알게 되었다.

따라서 rabbitMq에서 인식하고 바라보는 구성 파일의 위치 또한 다를 것이므로 구성 파일의 위치가 어디를 보고 있는 지 확인해볼 필요가 있다.

 

C:\Program Files\RabbitMQ Server\rabbitmq_server-<version>\rabbitmq.config.example %APPDATA%\RabbitMQ\rabbitmq.config

RabbitMQ 구성 파일은 보통 /etc/rabbitmq 디렉토리 또는 %APPDATA%\RabbitMQ 디렉토리에 위치한다.

 

만약, rabbitmq.config 파일이 디렉토리에 존재하지 않으면, 다음과 같이 구성 파일을 복사하여 생성해볼 수 있다. 나는 rabbitMq가 바라보는 디렉토리에 구성파일은 존재하였으나 그 내용이 []. 로 비어있었다. 따라서 내용이 존재하지 않아 구성 파일을 직접 생성해보았다.

[
  {rabbit, [
     {loopback_users, []},
     {default_user, <<"guest">>},
     {default_pass, <<"guest">>}
   ]},
   {rabbitmq_management, [
     {listener, [{port, 15672},
                 {ssl, false}]}
   ]}
].

 

구성 파일을 작성하고 작성한 파일이 Erlang 문법에 맞게 작성되었는지 체크해야한다. 정상적으로 작성되었음을 확인하면RabbitMQ 서버에 대한 구성 파일의 변경 사항을 적용하기 위해 RabbitMQ 서버를 다시 시작해야 한다. 서버가 정상적으로 다시 시작되는지 확인해보자.

 

rabbitmqctl.bat eval "rabbit_config_checker:check(), init:stop()."

 

나는 이 명령어를 실행하니 또 다른 에러가 발생했었다. 모든 rabbitMq 에러에서 말하고 있는 대표적인 원인이 바로 그 해결책이었다. rabbitMq와 Erlang의 버전이 호환되지 않았고 따라서 서로 바라보는 환경 구성파일이 달라 서비스를 제대로 실행할 수 없었다. 또한 노드도 비정상적으로 동작하니 서비스 자체에서 꼬여버렸던 것 같다.

 

혹시라도 구성 파일에 대한 오류가 발생했다면 이주동안 삽질했던 선배로서 과감히 RabbitMq와 Erlang을 재설치하는 것을 추천한다.