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.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다