安裝版本為rabbitmq 3.9.11,最新穩(wěn)定版良蒸,rabbitmq 3.x版本安裝部署一樣技扼。
一、安裝嫩痰、啟動(dòng)剿吻、關(guān)閉
1)安裝
brew安裝:brew install?rabbitmq
如果中途報(bào)xcode錯(cuò)誤,根據(jù)錯(cuò)誤提示 可能需要去apple官網(wǎng)下載Command_Line_Tools_for_Xcode_1x.x.x 安裝后串纺,再執(zhí)行上述命令安裝mq丽旅;安裝默認(rèn)路徑為:/usr/local/Cellar/rabbitmq/3.9.11/sbin.
2)啟動(dòng)、停止
前臺(tái)啟動(dòng):/usr/local/Cellar/rabbitmq/3.9.11/sbin/rabbitmq-server?
后臺(tái)啟動(dòng):/usr/local/Cellar/rabbitmq/3.9.11/sbin/rabbitmq-server? ?-detached
關(guān)閉:/usr/local/Cellar/rabbitmq/3.9.11/sbin/rabbitmqctl stop
查看狀態(tài):/usr/local/Cellar/rabbitmq/3.9.11/sbin/rabbitmqctl? status
默認(rèn)配置啟動(dòng)后纺棺,實(shí)例節(jié)點(diǎn)名為 rabbit
可以訪問管理后臺(tái):http://localhost:15672榄笙,默認(rèn)用戶名和密碼為guest guest
通過命令查看新增占用端口:lsof -nP ?| grep TCP | grep LISTEN
3)配置任何路徑可以運(yùn)行rabbitmq命令
修改~/.bash_profile文件,使用vi ~/.bash_profile命令打開文件,在文件末尾添加該語句:export PATH=$PATH:/usr/local/sbin保存后祷蝌,source ~/.bash_profile讓命令生效茅撞。
二、集群部署
1)創(chuàng)建配置文件
rabbitmq3.9.11默認(rèn)沒有配置文件,下載源碼rabbitmq-server-3.9.11.zip 解壓縮后有rabbitmq-server-3.9.11/deps/rabbit/docs/rabbitmq.conf.example 參考米丘。自己創(chuàng)建配置文件
單機(jī)部署三個(gè)rabbitmq實(shí)例剑令,注意RabbitMQ使用的 端口號(hào)、配置文件不能沖突拄查;創(chuàng)建配置目錄放/opt下,創(chuàng)建目錄和文件修改權(quán)限吁津,命令如下:
sudo mkdir? /opt/rabbitconf
cd /opt/
chown?:staff -R rabbitconf
touch? rabbit1.conf?rabbit2.conf??rabbit3.conf
chmod??-R?777?rabbit1.conf?rabbit2.conf?rabbit3.conf
2)寫配置文件內(nèi)容
由于端口沖突,故配置2和配置3 均比配置1屬性多堕扶,修改端口
配置1? rabbit1.conf:
management.tcp.port=15672
loopback_users.guest=false
配置2? rabbit2.conf
management.tcp.port=15673
loopback_users.guest=false
stream.listeners.tcp=none
mqtt.listeners.tcp.default = 1884
stomp.listeners.tcp.1 = 127.0.0.1:61618
stomp.listeners.tcp.2 = ::1:61618
stomp.listeners.ssl=none
配置3 rabbit3.conf
management.tcp.port=15674
loopback_users.guest=false
stream.listeners.tcp=none
mqtt.listeners.tcp.default = 1885
stomp.listeners.tcp.1 = 127.0.0.1:61620
stomp.listeners.tcp.2 = ::1:61620
stomp.listeners.ssl=none
3)啟動(dòng)三個(gè)rabbitmq實(shí)例
RABBITMQ_NODENAME=rabbit1 RABBITMQ_NODE_PORT=5672 ?RABBITMQ_CONFIG_FILE=/opt/rabbitconf/rabbit1.conf rabbitmq-server
RABBITMQ_NODENAME=rabbit2?RABBITMQ_NODE_PORT=5673?RABBITMQ_CONFIG_FILE=/opt/rabbitconf/rabbit2.conf rabbitmq-server
RABBITMQ_NODENAME=rabbit3?RABBITMQ_NODE_PORT=5674?RABBITMQ_CONFIG_FILE=/opt/rabbitconf/rabbit3.conf rabbitmq-server
4)加入集群
第一個(gè)實(shí)例不用處理腺毫,將第二個(gè)和第三個(gè)實(shí)例加入到第一個(gè)實(shí)例成為需要的集群(其實(shí)每個(gè)實(shí)例都是集群只是集群實(shí)例為1,用第一個(gè)實(shí)例為主挣柬,其余加入)
第一個(gè)階段:將rabbit2加入集群。
(1)停止Erlang?Vm上運(yùn)行的RabbitMq應(yīng)用睛挚,保持Erlang?VM的運(yùn)行
rabbitmqctl ?stop_app -n rabbit2
(2)移除第二個(gè)節(jié)點(diǎn)實(shí)例上RabbitMq虛擬主機(jī)上所有數(shù)據(jù):重置數(shù)據(jù)
rabbitmqctl ?reset -n rabbit2
(3)將當(dāng)前RabbitMq的主機(jī)加入到rabbit1這個(gè)虛擬主機(jī)的集群中邪蛔,一個(gè)實(shí)例節(jié)點(diǎn)也是集群
rabbitmqctl ??-n rabbit2 ?join_cluster ?rabbit1
(4)啟動(dòng)當(dāng)前Erlang?Vm的RabbitMq應(yīng)用
rabbitmqctl ??-n rabbit2 ?start_app
第二個(gè)階段:將rabbit3加入集群,步驟同上
rabbitmqctl ?stop_app -n rabbit3
rabbitmqctl ?reset -n rabbit3
rabbitmqctl ??-n rabbit3??join_cluster ?rabbit1
rabbitmqctl ??-n rabbit3??start_app
5)修改集群名和查看集群信息
修改集群名字(rabbit1改為rabbits):rabbitmqctl -n rabbit1 set_cluster_name rabbits
查看集群信息:rabbitmqctl cluster_status ?-n rabbit1
6)添加用戶
添加用戶和密碼
rabbitmqctl add_user root 123456 ??-n rabbit1
加入用戶組
??rabbitmqctl set_user_tags root administrator -n rabbit1
設(shè)置權(quán)限(最高權(quán)限)
??rabbitmqctl set_permissions -p / root ".*" ".*" ?".*" ?-n rabbit1
6)設(shè)置鏡像隊(duì)列集群
全復(fù)制all:rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}' -n ?rabbit1
備注:
單機(jī)部署rabbitmq集群和多機(jī)部署集群操作一樣扎狱,唯一的區(qū)別就是多機(jī)器配置相同的:三個(gè)節(jié)點(diǎn)的.erlang.cookie配置一樣的key值:GHHKKHKJHKKKKKJJIUHUGUYKJKJKKK,隨便取值侧到,通過第三方工具生成。