博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

rabbitmq集群搭建

Posted on 2019-04-23 16:21  southtianmen  阅读(164)  评论(0编辑  收藏  举报

mq集群:

192.168.6.61    rabbitmq-server1    master
192.168.6.62    rabbitmq-server2    slave
192.168.6.71    rabbitmq-server3    slave

 

1.配置yum源(所有节点执行)

yum -y install vim bash-completion rabbitmq-server

 

2.设置selinux和防火墙(所有节点执行)

# 重启生效
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 临时生效
setenforce 0
systemctl stop firewalld systemctl disable firewalld systemctl mask firewalld

 

3.设置主机名
192.168.6.61:

echo rabbitmq-server1 > /etc/hostname
hostnamectl set-hostname rabbitmq-server1
echo 192.168.6.61 rabbitmq-server1 >> /etc/hosts
echo 192.168.6.62 rabbitmq-server2 >> /etc/hosts
echo 192.168.6.71 rabbitmq-server3 >> /etc/hosts

 

192.168.6.62:

echo rabbitmq-server2 > /etc/hostname
hostnamectl set-hostname rabbitmq-server2
echo 192.168.6.61 rabbitmq-server1 >> /etc/hosts
echo 192.168.6.62 rabbitmq-server2 >> /etc/hosts
echo 192.168.6.71 rabbitmq-server3 >> /etc/hosts


192.168.6.71:

echo rabbitmq-server3 > /etc/hostname
hostnamectl set-hostname rabbitmq-server3
echo 192.168.6.61 rabbitmq-server1 >> /etc/hosts
echo 192.168.6.62 rabbitmq-server2 >> /etc/hosts
echo 192.168.6.71 rabbitmq-server3 >> /etc/hosts


4.配置rabbitmq-server
各个节点:

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

 

192.168.6.61(以第1台节点为master节点):

scp /var/lib/rabbitmq/.erlang.cookie 192.168.6.62:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie 192.168.6.71:/var/lib/rabbitmq/

 

192.168.6.62和192.168.6.71加入集群:

chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 400 /var/lib/rabbitmq/.erlang.cookie
systemctl restart rabbitmq-server
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rabbitmq-server1
rabbitmqctl start_app

 

# 配置rabbitmq用户和许可(192.168.6.61执行)

rabbitmqctl add_user 用户名 密码
rabbitmqctl set_user_tags 用户名 administrator
rabbitmqctl set_permissions -p / 用户名 '.*' '.*' '.*'

 

# 配置镜像队列(messages自动同步)

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'

 

# 修改本节点为ram模式

rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type ram
rabbitmqctl start_app

 

# haproxy配置:

listen rabbitmq_5672
bind 0.0.0.0:5672
balance roundrobin
timeout connect 10s
timeout client 10s
timeout server 10s
mode tcp
option tcpka
option tcplog
server rabbitmq-server1 192.168.6.61:5672 check inter 2000 rise 2 fall 5
server rabbitmq-server2 192.168.6.62:5672 check inter 2000 rise 2 fall 5
server rabbitmq-server3 192.168.6.71:5672 check inter 2000 rise 2 fall 5

listen rabbitmq_15672
bind 0.0.0.0:15672
balance source
option tcpka
option tcplog
server rabbitmq-server1 192.168.6.61:15672 check inter 2000 rise 2 fall 5
server rabbitmq-server2 192.168.6.62:15672 check inter 2000 rise 2 fall 5
server rabbitmq-server3 192.168.6.71:15672 check inter 2000 rise 2 fall 5