Rabbitmq 설치 안내
7167 단어 메시지 큐
비교 문장 참고:http://blog.csdn.net/linsongbin1/article/details/47781187
소개
RabbitMQ(http://www.rabbitmq.com) 는 LShift 가 제공 하 는 Advanced Message Queuing Protocol (AMQP) 의 오픈 소스 로 고성능, 건장 함, 신축성 으로 유명한 Erlang (http://www.erlang.org) 그 는 Mozilla Public License 개원 협 의 를 따른다 고 썼 다.
2 시스템 요구 사항
1、 Linux 2.6.18 버 전 이상, 4G 이상 메모리 사용
2、 gcc 버 전 4.1.2
3 Erlang 설치
예 otpsrc_17.0. tar. gz 버 전 으로 설치, 스 크 립 트 의 환경 변수 ERLHOME 사용 / opt / erlang 경 로 는 실제 상황 에 따라 정의 하 십시오.
설치 패 키 지 를 임의의 디 렉 터 리 에 놓 고 실행 하기:
tar-zxvf otp_src_17.0.tar.gz
cd otp_src_17.0
./configure --prefix=/opt/erlang
make
make install
./configure --prefix=/opt/erlang --enable-smp-support --enable-threads --enable-sctp --enable-kernel-poll --enable-hipe --with-ssl
상기 매개 변수 설명:
--prefix 설치 디 렉 터 리 지정
-- enable - smp - support 대칭 다 중 처리 지원 사용 (Symmetric Multi - Processing 대칭 다 중 처리 구조의 약칭)
-- enable - threads 비동기 스 레 드 지원 사용
-- enable - sctp 스 트림 제어 프로 토 콜 지원 사용 (스 트림 제어 전송 프로 토 콜, 스 트림 제어 전송 프로 토 콜)
-- enable - kernel - poll 리 눅 스 커 널 폴 사용
-- enable - hipe 는 고성능 Erlang (고성능 Erlang) 참고 자 료 를 사용 합 니 다.http://www.cnblogs.com/me-sa/archive/2012/10/09/erlang_hipe.html
-- with - ssl SSL 패키지 사용
vim/etc/profile
export ERL_HOME=/opt/erlang/bin
export PATH=$PATH:$ERL_HOME
source /etc/profile
오류:
configure: error: No curses library functions found
configure: error: /bin/sh '/usr/local/xuguang/RabbitMq/erlang/otp_src_R15B01/erts/configure' failed for erts
RootCause: ncurses
Fix:yum -y install ncurses-devel
테스트
콘 솔 에 erl 을 입력 하면 다음 과 같이 표 시 됩 니 다.
[root@APP-NO4 opt]# erl
Erlang R15B01 (erts-5.9.1) [source] [smp:2:2] [async-threads:0][hipe] [kernel-poll:false]
Eshell V5.9.1 (abort with ^G)
1>
맞다
4 RabbitMQ 설치 (단순 설치)
예 를 들 어 rabbitmq - server - generic - unix - 3.2.4. tar. gz 버 전 으로 따 릅 니 다.
설치 패 키 지 를 임의의 디 렉 터 리 에 놓 고 실행 하기:
tar–zxvf rabbitmq-server-generic-unix-3.2.4.tar.gz
cd rabbitmq_server-3.2.4
./rabbitmq-plugins enable rabbitmq_management
./rabbitmq-server -detached
rpm 패키지 설치
또는
rpm -ivh --nodeps rabbitmq-server-3.6.5-1.noarch.rpm
rpm 패키지 설치 /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/sbin
rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
yum install rabbitmq-server-3.6.5-1.noarch.rpm( : )
주: rabbitmq - defaults 설정 erldir 디 렉 터 리
-rwxr-xr-x 1 root root 1480 8 5 21:26 rabbitmqctl
-rwxr-xr-x 1 root root 1431 8 5 21:26 rabbitmq-defaults
-rwxr-xr-x 1 root root 11379 8 5 21:26 rabbitmq-env
-rwxr-xr-x 1 root root 1362 8 5 21:26 rabbitmq-plugins
-rwxr-xr-x 1 root root 9042 8 5 21:26 rabbitmq-server
오류:
RabbitMQ :/var/lib/rabbitmq
RabbitMQ :/etc/rabbitmq/
RabbitMQ :/var/log/rabbitmq
:
rabbitmq.config
rabbitmq-env.conf
chown -R rabbitmq:rabbitmq /var/run/rabbitmq
가방 부족:
/usr/lib/rabbitmq/bin/rabbitmq-server: 49: /var/run/rabbitmq/pid:
yum install socat 시작 서비스:
service rabbitmq-server restart
브 라 우 저 보기:http://localhost:15672 사용자 이름: guest 비밀번호: guest 화면 표시
5 RabbitMQ 클 러 스 터 설정
5.1 일반 군집
전제조건: 클 러 스 터 가 필요 한 기 계 를 RabbitMQ 로 설치 하고 실행 중 입 니 다.
node 1, node 2 클 러 스 터 를 예 로 들 어 모든 기계 목록 을 모든 클 러 스 터 기기 / etc / hosts 파일 에 추가 합 니 다.
임의의 클 러 스 터 기기 ~ / erlang. cookie 파일 을 모든 기기 에 복사 합 니 다 (rabbitmq 를 멈 춘 다음 copy). 같은 디 렉 터 리 에서 chmod 600 ~ / erlang. cookie 를 실행 합 니 다.
rabbitmq 의 정상 적 인 운행 을 보장 합 니 다. 각각 실행:
socat is needed by rabbitmq-server-3.6.5-1.noarch
연결 클 러 스 터: node 1 연결 node 2 가 node 1 에서 실 행 됩 니 다.
./rabbitmqctl stop_app
./rabbitmqctl reset
./rabbitmqctl start_app
임의의 기기 에서 클 러 스 터 상태 실행 보기:
./rabbitmqctl stop_app
./rabbitmqctl join_cluster rabbit@node2
./rabbitmqctl start_app
페이지 열기 결과 보기
주: 여러 대의 기계 가 군집 node 3 에 가입 하면
./rabbitmqctl cluster_status
Node 2 와 node 3 는 join 을 실행 할 필요 가 없습니다.cluster 는 자동 으로 체인 에 가입 하기 때 문 입 니 다.
일반적인 상황 하에 서 세 대의 기계 군집 을 진행 하 다.
한 대 는 디스크 저장 소 로 설정 되 어 있 습 니 다.
join_cluster--ram rabbit@node2
5.2 고가 용
LVS, haproxy 를 통 해 네트워크 균형 부하 로 구현 할 수 있다.LVS 환경 에서 테스트 를 통과 한 것 으로 알려 졌 으 니 LVS 설치 매 뉴 얼 을 참조 하 시기 바 랍 니 다.
6 사용자 추가
임 의 클 러 스 터 기계 에서 실행
입고 사용자 추가
./rabbitmqctl add_user impuser 123rty789
캐릭터 설정
./rabbitmqctl set_user_tags impuser administrator
가상 공간 설정
./rabbitmqctl add_vhost /imp
./rabbitmqctl set_permissions -p /imp impuser ".*"".*" ".*"
리 트 윗 사용자 추가
./rabbitmqctl add_user transferuser 123rty789
캐릭터 설정
./rabbitmqctl set_user_tags transferuser administrator
가상 공간 설정
./rabbitmqctl add_vhost /transfer
./rabbitmqctl set_permissions -p /transfer transferuser ".*" ".*" ".*"
경고 사용자 추가
./rabbitmqctl add_user alarmuser 123rty789
캐릭터 설정
./rabbitmqctl set_user_tags alarmuser administrator
가상 공간 설정
./rabbitmqctl add_vhost /alarm
./rabbitmqctl set_permissions -p /alarm alarmuser ".*"".*" ".*"
기타
가상 공간 삭제
rabbitmqctl delete_가상 공간
rabbitmqctl add_가상 공간
포트 설정:
RABBIYMQ_HOME/etc/rabbitmq/rabbitmq-env.conf
RABBITMQ_NODE_PORT=port
RABBIYMQ_HOME/etc/rabbitmq/rabbitmq.config
[
{rabbitmq_management,[{listener, [{port, 12345}]}]}
].
참고 주소:
http://www.rabbitmq.com/configure.html,http://www.rabbitmq.com/man/rabbitmqctl.1.man.html
8. 주의사항
1、 클 러 스 터 의 소프트웨어 버 전 은 Erlang 을 포함 하여 일치 해 야 합 니 다.
2、 클 러 스 터 환경 을 재배 치 하려 면 강제 리 셋 이 필요 합 니 다.
a) 환경 안정 적 인 운행 확보. / rabbitmqctl stopapp ./rabbitmqctl force_reset ./rabbitmqctlstart_app
3、 ERROR: node with name"rabbit" already running on ""
a) 같은 기기 에서 여러 개의 인 스 턴 스 를 실행 합 니 다. rabbitmq - env. conf 설정 파일 의 NODENAME 설정 옵션 을 통 해 노드 이름 을 설정 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka 의 0.8.2.1 버 전의 자바 코드 구현1. 설명 이 코드 구현 은 kafka2.10 의 0.8.2.1 버 전의 자바 코드 가 실현 되 고 소비 자 는 여러 개의 Topic 소비 에 대한 다 중 스 레 드 실현 이다. 2. 설치 참고: Kafka 간단 한...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.