淺析RabbitMQ 叢集
角色
IP位址
主機名
MQ版本
Master
192.168.103.83
rabbit-jxs-10383
3.5.2-1
slave
192.168.103.84
rabbit-jxs-10384
1) 配置yum 源 (Master/slave 同時配置)
yum -y install epel-release
1) 安裝erlang (Master/slave 同時配置)
Yum –y install erlang
2) 安裝RabbitMQ (Master/slave 同時配置)
rpm –vih rababitmq-server-3.5.2-1.noarch.rpm
3) 修改主機名
a) Hostname rabbit-jxs-10383 #slave
b) Vim /etc/sysconfig/network
Hostname= rabbit-jxs-10383
c) Vim /etc/hosts (Master/slave 同時配置)
192.168.103.83 rabbit-jxs-10383
192.168.103.84 rabbit-jxs-10384
d) MQ WEB 配置
[rabbitmq_management,rabbitmq_management_agent].
e) MQ 服務配置
[root@rabbit-jxs-10383 rabbitmq]# cat rabbitmq.conf
% This file managed by Puppet
% Template Path: rabbitmq/templates/rabbitmq.config
[
{rabbit, [
{default_user, <<"guest">>},
{default_pass, <<"guest>>},
{tcp_listeners,[5672]},
{cluster_partition_handling, ignore}
]},
{kernel, [
]}
].
% EOF
f) MQ 環境變量配置
[root@rabbit-jxs-10383 rabbitmq]# cat rabbitmq-env.conf
RABBITMQ_NODE_PORT=5672
MNESIA_BASE=/data/rabbitmq/data
LOG_BASE=/data/rabbitmq/log
g) MQ 建立目錄
Mkdir /data/rabitmq/data –p
Mkdir /data/rabbitmq/log –p
Chown rabbitmq:rabbitmq /data/rabbitmq –R
h) MQ啟動服務
Service rabbitmq-serve restart
Chkconfig rabbitmq-server on
i) MQ 端口監聽
[root@rabbit-jxs-10383 rabbitmq]# netstat -tnpl |grep 567
tcp 0 0 0.0.0.0:5672 0.0.0.0:* LISTEN 10020/beam.smp
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 10020/beam.smp
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 10020/beam.smp
[root@rabbit-jxs-10383 rabbitmq]#
4) MQ slave 服務配置
a) 同步Master RabbitMQ 檔案配置
Scp –p 30000 192.168.103.83:/etc/rabbitmq/* /etc/rabbitmq/
Chown rabbitmq:rabbitmq –R /etc/rabbitmq/
b) MQ 建立工作目錄
Mkdir /data/rabbitmq/data –p
Mkdir /data/rabbitmq/log –p
Chown rabbitmq:rabbitmq –R /data/rabbitmq
c) 同步Master Rabbitmq .erlang.cookie
Scp –p 30000 192.168.103.83:/var/lib/rabbitmq/.erlang.cookie ./var/lib/rabbitmq/
Chown rabbitmq:rabbitmq /var/lib/rabbitmq
d) 啟動MQ slave 服務
Service rabbitmq-server restart
chkconfig rabbitmq on
e) 停止Master MQ
rabbitmqctl stop_app
f) 清空Master MQ資訊
rabbitmqctl reset
g) 加入10384 到MQ叢集中
rabbitmqctl join_cluster rabbit@rabbit-jxs-10384
h) 啟動MQmaster 服務
rabbitmqctl start_app
i) 檢視狀态
[root@rabbit-jxs-10383 ~]# rabbitmqctl cluster_status
Cluster status of node 'rabbit@rabbit-jxs-10383' ...
[{nodes,[{disc,['rabbit@rabbit-jxs-10383','rabbit@rabbit-jxs-10384']}]},
{running_nodes,['rabbit@rabbit-jxs-10384','rabbit@rabbit-jxs-10383']},
{cluster_name,<<"rabbit@rabbit-jxs-10383">>},
{partitions,[]}]
1) 建立Rabbit 管理使用者
a) rabbitmqctl add_user admin admin
2) 賦予使用者權限
a) rabbitmqctl set_user_tags admin administrator
3) MQ 鏡像實作
a) rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
4) 完成MQ配置
a) http://192.168.103.84:15672
本文轉自 swq499809608 51CTO部落格,原文連結:http://blog.51cto.com/swq499809608/1665970