RabbitMQ MQTT 클러스터링

1. Erlang Cookie
윈도우의 경우 사용자계정(ex: C:\Users\사용자계정)에 .erlang.cookie 파일이 생성된다.
하나의 서버를 기준으로 .erlang.cookie 파일을 복사 한 후, 클러스터링 할 각 서버의 C:\Users\사용자계정 폴더와 c:\windows 폴더에 붙여넣기하여 동일 한 쿠기 값을 사용하도록 한다.

2. 클러스터 조인
1) 클러스터 조인 상태 확인
rabbitmqctl cluster_status 명령을 이용하여 클러스터 되어 있는지 확인

rabbitmqctl cluster_status

2) 현재 작업중인 서버(yomile-NB)에서 MosaicDBSvr 서버로 클러스터 조인하여 붙도록 한다.

rabbitmqctl stop_app
rabbitmqctl join_cluster -- ram rabbit@MosaicDBSvr
rabbitmqctl start_app

참고 1) 아래와 같이 nodedown에러가 나는 경우는 위에서 언급한 Erlang Cookie문제로 c:\windows 폴더에
쿠키 파일을 복사 안하였더니, 발생한 에러였다.
참고 2) join_cluster에 –ram 옵션은 클러스터 노드 타입을 속도가 빠른 ram으로 할 것인지, disc(디스크)로 할것인지에 대한 옵션이다. –ram을 안적게 되면 기본이 disc로 된다.

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>rabbitmqctl join_cluster rabbit@MosaicDBSvr
Clustering node 'rabbit@yomile-NB' with rabbit@MosaicDBSvr ...
Error: unable to connect to nodes [rabbit@MosaicDBSvr]: nodedown

DIAGNOSTICS
===========

attempted to contact: [rabbit@MosaicDBSvr]

rabbit@MosaicDBSvr:
* connected to epmd (port 4369) on MosaicDBSvr
* epmd reports node 'rabbit' running on port 25672
* TCP connection succeeded but Erlang distribution failed

* Authentication failed (rejected by the remote node), please check the Erlang cookie

3. 클러스터 제거
1) 현재 작업중인 서버(yomile-NB)에서 MosaicDBSvr 서버에 대하여 클러스터 제거

먼저 yomile-NB에서 중지

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

2)MosaicDBSvr에서 yomile-NB의 클러스터 삭제

rabbitmqctl stop_app
rabbitmqctl forget_cluster_node rabbit@yomile-NB
rabbitmqctl start_app

4. 미러링

rabbitmqctl set_policy ha-all "^mqtt" '{"ha-mode":"all"}'

Veuillez ne infections-enlignepascher.com pas prendre ce médicament si vous prenez l’un des traitements suivants. J’aimerais profiter du changement supplémentaire que j’utilise pour me procurer de nouveaux équipements de fitness.