ubuntu에서 rabbitmq 설치 및 집단 설정
ubuntu에서 rabbitmq 설치 및 집단 설정
현황: 현재 세 개의 서버가 존재하고 있습니다. 이전 세 개의 서버에 각각rabbitmq 노드가 존재했습니다. 그 중 한 개의 서버가 붕괴되었기 때문에 이 서버에rabbitmq를 설치하고 이 노드를 이전 집단에 추가해야 합니다.주의해야 할 것은rabbitmq의 각 노드는 서로 평등하고 주종의 구분이 존재하지 않는다는 것이다.node1 172.27.0.11 node2 172... 27.0.9 node3 172.27.0.5 맞아요. 터진 게 이거예요.0.5 노드.
버전 설명erl 18.3(7.3)rabbitmq 18.3
앞에 쓰면 (내가 밟은 구덩이): 1.rabbitmq를 설치하기 전에erlang을 설치해야 합니다.2.rabbitmq 각 노드는 이전에 확실히 주종의 구분이 없었지만 각 노드의rabbitmq버전과erlang버전은 모두 일치해야 한다.3. 인터넷에는 apt-get이라는 간단한 설치 방법이 많지만 이런 방법의 설치 버전이 상대적으로 낡고 제 자신의 수요를 바탕으로 저는 버전에 대한 수요가 높기 때문에 이런 설치 방법을 시도한 후에 매번 실패하여 제거했습니다.따라서 이 글을 보는 귀염둥이는 자신의 수요에 따라 설치 방법을 선택하는 것을 권장한다.나는 컴파일링 설치를 위주로 하여 상대적으로 비교적 번거롭다.4.erlang과rabbitmq 양자의 버전은 서로 어울려야 한다. 설치하기 전에 이곳에 가서 erlang과rabbitmq 버전이 어울릴지 보자.
rabbitmq 설치
rabbitmq를 설치하기 전에erlang을 설치해야 합니다.
설치erlang 다운로드
(1) 설치 디렉터리에 새 폴더를 만들어rabbitmq 관련 파일을 놓는다.(2) 다운로드(시간이 매우 길고 잘못된 가방을 다운로드하기 쉽다).(3) 압축을 풀고 이름 바꾸기;cd /home/ubuntu/
sudo mkdir rabbit
cd rabbit
sudo wget http://erlang.org/download/otp_src_18.3.tar.gz
tar zxvf otp_src_18.3.tar.gz
mv otp_src_18.3 erlang
(4) 컴파일 설치(실행 중./configure 명령이 실행되지 않았다는 설명, 다운로드한 가방에 문제가 있으면 다시 다운로드하거나, 인터넷에서 거울을 찾을 수 있음) 다른 문제는 추가 가방을 설치해야 할 수도 있으며, 구체적으로 스스로 해결해야 한다../configure
sudo make
sudo make install
(5) 환경 변수 추가cd /
cd /etc
sudo vi profile
이 파일에 다음과 같은 내용을 추가합니다. (자신이 설치한 위치에 따라 결정해야 합니다.)ERLANG_HOME=/home/ubuntu/rabbit/erlang
export PATH=$PATH:$ERLANG_HOME/bin
export ERLANG_HOME
프로필을 적용합니다!source /etc/profile
(6) 설치 성공 여부 확인erl
이렇게 하면 성공!Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3 (abort with ^G)
1>
rabbitmq 다운로드
(1) 그 폴더에 다운로드하기;(2) 압축을 풀고 이름을 바꿉니다.cd /home/ubuntu/rabbit
wget http://www.rabbitmq.com/releases/rabbitmq-server/v_3.5.7/rabbitmq-server-generic-unix-3.5.7.tar.gz
tar zvxf rabbitmq-server-generic-unix-3.5.7.tar.gz
mv rabbitmq_server-3.5.7 rabbitmq
마찬가지로 환경 변수를 추가합니다.cd /etc
sudo vi profile
프로필 파일에 다음과 같이 추가합니다.export PATH=$PATH:/home/ubuntu/rabbit/rabbitmq/sbin
export RABBITMQ_HOME=/home/ubuntu/rabbit/rabbitmq
유효한 파일 및 rabbitmq 시작sorce /etc/profile
rabbitmq-server
rabbitmq 상태 보기rabbitmqctl status
아마 이렇게 해서 성공했을 거야!Status of node 'rabbit@VM-0-5-ubuntu' ...
[{pid,28181},
{running_applications,[{xmerl,"XML parser","1.3.10"},
{sasl,"SASL CXC 138 11","2.7"},
{stdlib,"ERTS CXC 138 10","2.8"},
{kernel,"ERTS CXC 138 10","4.2"}]},
{os,{unix,linux}},
{erlang_version,"Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:64] [hipe] [kernel-poll:true]
"},
{memory,[{total,37381904},
{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,0},
{queue_procs,0},
{queue_slave_procs,0},
{plugins,0},
{other_proc,13426448},
{mnesia,0},
{mgmt_db,0},
{msg_index,0},
{other_ets,661480},
{binary,9312},
{code,16733394},
{atom,654217},
{other_system,5897053}]},
{alarms,[]},
{listeners,[]},
{processes,[{limit,1048576},{used,49}]},
{run_queue,0},
{uptime,6009}]
rabbitmq 배치 (노드 집단 가입)
1. 노드의 호스트 파일 설정cd /etc
sudo vi hosts
다음을 추가합니다(앞쪽은 네트워킹 IP이고 뒤쪽은 노드 이름입니다).172.27.0.11 node1
172.27.0.9 node2
172.27.0.5 node3
2. 쿠키 파일 세 노드를 편집하는 쿠키 파일은 일치해야 합니다.0.5 이 노드의 쿠키 파일은 다른 두 노드와 일치하는 모양으로 수정되었습니다!두 개의 파일을 모두 수정해야 한다cd /var/lib/rabbitmq
sudo vi .erlang.cookie
cd /$HOME
sudo vi .erlang.cookie
다른 두 노드와 일치하도록 수정하면 됩니다.가입rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node1
(Cluster node rabbit@node3 with rabbit@node1)
rabbitmqctl start_app
가입할 때, 상기와 같이 일깨워주면 성공! tcp success but erl failed
erl , , erlang 。 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
cd /home/ubuntu/
sudo mkdir rabbit
cd rabbit
sudo wget http://erlang.org/download/otp_src_18.3.tar.gz
tar zxvf otp_src_18.3.tar.gz
mv otp_src_18.3 erlang
./configure
sudo make
sudo make install
cd /
cd /etc
sudo vi profile
ERLANG_HOME=/home/ubuntu/rabbit/erlang
export PATH=$PATH:$ERLANG_HOME/bin
export ERLANG_HOME
source /etc/profile
erl
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3 (abort with ^G)
1>
cd /home/ubuntu/rabbit
wget http://www.rabbitmq.com/releases/rabbitmq-server/v_3.5.7/rabbitmq-server-generic-unix-3.5.7.tar.gz
tar zvxf rabbitmq-server-generic-unix-3.5.7.tar.gz
mv rabbitmq_server-3.5.7 rabbitmq
cd /etc
sudo vi profile
export PATH=$PATH:/home/ubuntu/rabbit/rabbitmq/sbin
export RABBITMQ_HOME=/home/ubuntu/rabbit/rabbitmq
sorce /etc/profile
rabbitmq-server
rabbitmqctl status
Status of node 'rabbit@VM-0-5-ubuntu' ...
[{pid,28181},
{running_applications,[{xmerl,"XML parser","1.3.10"},
{sasl,"SASL CXC 138 11","2.7"},
{stdlib,"ERTS CXC 138 10","2.8"},
{kernel,"ERTS CXC 138 10","4.2"}]},
{os,{unix,linux}},
{erlang_version,"Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:64] [hipe] [kernel-poll:true]
"},
{memory,[{total,37381904},
{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,0},
{queue_procs,0},
{queue_slave_procs,0},
{plugins,0},
{other_proc,13426448},
{mnesia,0},
{mgmt_db,0},
{msg_index,0},
{other_ets,661480},
{binary,9312},
{code,16733394},
{atom,654217},
{other_system,5897053}]},
{alarms,[]},
{listeners,[]},
{processes,[{limit,1048576},{used,49}]},
{run_queue,0},
{uptime,6009}]
cd /etc
sudo vi hosts
172.27.0.11 node1
172.27.0.9 node2
172.27.0.5 node3
cd /var/lib/rabbitmq
sudo vi .erlang.cookie
cd /$HOME
sudo vi .erlang.cookie
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node1
(Cluster node rabbit@node3 with rabbit@node1)
rabbitmqctl start_app
tcp success but erl failed
erl , , erlang 。 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.