MQ 설정 관련

- 메모리 부족으로 인한 application shut down 현상 발생

 

-  ./rabbitmqctl status 명령어로 status 확인

- memory detail 확인해보니 queue 인입량이 급격히 증가(기존에 처리하지 못한 queue가 쌓여, flush 되지 못한 것으로 보임)

- application 재시작(./rabbitmqctl stop_app, ./rabbitmqctl start_app) 동일 현상 발생

 

- cluster 제거

server 1 : 문제발생

server 2 : ./rabbitmqctl forget_cluster_node rabbit@server1 (단, 1번서버 stop 시켜준 상태에서 진행 ./rabbitmqctl stop_app)

server1 : ./rabbitmqctl reset < 반드시 진행해야함!!!

 

- cluster 넣기

server1 : ./rabbtmqctl stop_app

server1 : ./rabbitmqctl join_cluster rabbit@server2

server1 : ./rabbtmqctl start_app

 

 

./rabbitmqctl cluster_status 를 통해 running node 확인

아래와 같이 정상화 되었다.

 

 

 

 

* 실수로...

reset이 안되어 ./rabbitmq-server stop(./rabbitmqctl stop_app 대신)을 진행하게 될경우, node 자체가 죽는다. ./rabbitmqctl 관련 명령어는 node가 떠있을때만 가능하므로.. 관련 명령어가 전혀 수행되지않는다.

 

 ./rabbitmq-server -detached  < 도 안먹혔다. 불능상태처럼 빠지는데...

 

이유는 sever1, server2가 있을때 server2에서 cluster를 빼줬지만, server1은 reset전 상태가 되버리므로, 서로 보는 conf 가 달라, 에러 발생

/home1/irteam/apps/rabbitmq/var/lib/rabbitmq/mnesia/rabbit@host 파일을 제거하고, 위의 상태를 재반복해서 해결

 

 

*관련

mq설정 포스팅 : http://pigbrain.github.io/opensource/2016/04/11/RabbitMQ_6_Clustering_on_RabbitMQ
트러블슈팅 솔루션 : https://stackoverflow.com/questions/21018210/rabbitmq-inconsistent-cluster

 

 

'개발노트 > rabbitmq' 카테고리의 다른 글

rabbitmq 명령어 관련  (0) 2018.04.05

- 큐리스트 확인

/home1/irteam/apps/rabbitmq/sbin

rabbitmqctl list_queues

 

- mq cluster status 확인

/rabbitmqctl cluster_status

 

-rabbit mq 타입

exchangeKey, routingkey, message

 

Exchange

 

Exchange 타입

 

Ÿ   Default Exchange

Ÿ   Direct Exchange : 각 Queue는 Routing Key에 Binding이 되어 있고, Exchange에 Routing Key가 들어오면, 그 Exchange에 Binding되어 있는 Queue중에서,  그 Key와 Mapping되어 있는 Queue로 메세지를 라우팅 한다.

Ÿ   Fan out Exchange : Routing Key에 상관 없이 Exchange에 Binding되어 있는 모든 Queue에 메세지를 라우팅 한다. (1:N 관계로, 모든 Queue에 메세지를 복제해서 라우팅 한다.)

Ÿ   Topic Exchange : Exchange에 mapping 되어 있는 Queue중에서 Routing key가 패턴에 맞는 Queue로 모두 메세지를 라우팅 한다.

Ÿ   Headers Exchange

 

- rabbit mq 사용자관리

 

# rabbitmqctl add_user <사용자> <비번>

사용자 추가

 

# rabbitmqctl set_user_tags <사용자> <태그>

사용자에게 태그설정

 

# rabbitmqctl delete_user <사용자>

사용자 제거

 

# rabbitmqctl list_users

사용자 리스트 확인

 

# rabbitmqctl change_password <사용자> <신규비번>

사용자의 비번 변경

 

# rabbitmqctl set_permissions <사용자> <접속퍼미션> ..

사용자에게 접속 퍼미션을 설정

 

# rabbitmqctl list_permissions

'/' 의 퍼미션 설정을 확인

 

# rabbitmqctl list_user_permissions <사용자>

사용자의 퍼미션을 확인

 

 

guset 삭제
# rabbitmqctl delete_user guest

bangc/1234 계정생성
# rabbitmqctl add_user bangc 1234

bangc 에게 administrator 태그를 설정
# rabbitmqctl set_user_tags bangc [administrator]

유저리스트 확인
# rabbitmqctl list_users

bangc의 접속 퍼미션을 허용
# rabbitmqctl set_permissions bangc ".*" ".*" ".*"

bangc의 퍼미션 확인
# rabbitmqctl list_user_permissions bangc

 

http://bangcfactory.tistory.com/entry/rabbitmq-%EC%82%AC%EC%9A%A9%EC%9E%90-%EA%B4%80%EB%A6%AC

 

 

'개발노트 > rabbitmq' 카테고리의 다른 글

mq 설정 관련  (0) 2018.05.15

+ Recent posts