Centos7 RabbitMq搭建镜像队列集群

文章主要是针对三节点进行搭建

一、更改三台服务器名称

hostnamectl --static set-hostname mq-1

hostnamectl --static set-hostname mq-2

hostnamectl --static set-hostname mq-3

 

二、创建rabbitmq账号并设置密码(账号:rabbitmq  密码:rabbitmq@1234)

groupadd rabbitmq

useradd -g rabbitmq rabbitmq

echo rabbitmq:rabbitmq@1234|chpasswd

 

三、查看

echo 'rabbitmq ALL=(ALL)NOPASSWD:ALL' >> /etc/sudoers
sed -i 's/Defaults requiretty/#Defaults requiretty/g' /etc/sudoers
cat /etc/sudoers

四、下载四个依赖文件

#socat
wget http://www.rpmfind.net/linux/centos/7.9.2009/o
s/x86_64/Packages/socat-1.7.3.2-2.el7.x86_64.rpm
#epel
wget https://mirrors.tuna.tsinghua.edu.cn/epel/7/x8
6_64/Packages/e/epel-release-7-13.noarch.rpm
#erland
wget https://github.com/rabbitmq/erlang-rpm/release
s/download/v23.2.1/erlang-23.2.1-1.el7.x86_64.rpm
#rabbitmq
链接:https://pan.baidu.com/s/1pRqDJv4SuNllpBex8DFJ3w 
提取码:ib8e 
复制这段内容后打开百度网盘手机App,操作更方便哦

 

 五、安装

yum -y install socat-1.7.3.2-2.el7.x86_64.rpm
yum -y install epel-release-7-13.noarch.rpm
yum -y install erlang-23.2.1-1.el7.x86_64.rpm
rpm -ivh rabbitmq-server-3.8.9-1.el7.noarch.rpm

 

六、同步.erlang.cookie文件

删除mq-2和mq-3节点的.cookie文件然后分别从mq-1节点拷贝

cd /home/rabbitmq
ll -a
rm -f .erlang.cookie
scp .erlang.cookie root@192.168.223.135:/home/rabbitmq/ #从mq-1节点直接拷贝

 

对mq-1,mq-2节点进行赋权限

chown rabbitmq:rabbitmq /home/rabbitmq/.erlang.cookie
chmod 600 /home/rabbitmq/.erlang.cookie

 

七、创建脚本

cat <<EOF> /home/rabbitmq/startRabbitmq.sh
#!/bin/bash
systemctl start rabbitmq-server
EOF

cat <<EOF> /home/rabbitmq/stopRabbitmq.sh
#!/bin/bash
systemctl stop rabbitmq-server
EOF

cat <<EOF> /home/rabbitmq/statusRabbitmq.sh
#!/bin/bash
systemctl status rabbitmq-server
rabbitmqctl cluster_status
EOF

 

八、以节点mq-1为基准创建集群,在mq-2,mq-3节点执行一下命令

rabbitmqctl stop_app

rabbitmqctl reset

rabbitmqctl join_cluster rabbit@mq-1

rabbitmqctl start_app

 

1.查看节点mq-2,mq-3状态

rabbitmqctl cluster_status

2.更改编码集

vi /etc/profile

3.最后一行添加  

export LC_ALL=en_US.UTF-8

4.立即生效  

source /etc/profile

5.分别关闭防火墙

  • 暂时关闭防火墙
systemctl stop firewalld

service  iptables stop

 

  • 永久关闭防火墙
systemctl disable firewalld

chkconfig iptables off

 

剔除故障节点并重置节点(遇到问题使用),在节点1中执行,剔除集群中的两个节点

 

rabbitmqctl -n rabbit@mq-1 forget_cluster_node rabbit@mq-2

先停止再执行

rm -rf /home/rabbitmq/mnesia

 

 九、在节点mq-1中启动管理插件

rabbitmq-plugins  enable rabbitmq_management

 十、设置账号密码

rabbitmqctl add_user admin admin
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
rabbitmqctl set_user_tags admin administrator

十一、设置镜像队列

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
rabbitmqctl list_policies

十二、对防火墙开放指定端口(开放15672,5672端口)

复制代码
防火墙状态:systemctl status firewalld.service

Active: inactive (dead)/active(running)

开放指定端口(15672):firewall-cmd --add-port=15672/tcp --permanent

重新加载防火墙:firewall-cmd --reload

 

 

 

 

posted @ 2021-05-12 15:17  空手接意大利炮  阅读(126)  评论(0)    收藏  举报