RabbitMQ集群
rabbitmq有3种模式,但集群模式是2种。
? 详细如下: 单一模式:即单机情况不做集群,就单独运行一个rabbitmq而已。之前一直在用
集群搭建
准备两台Liunx服务器,并安装好RabbitMQ。
127.0.0.1 A localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 A localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.152.129 A
192.168.204.130 B
? 二号服务器
127.0.0.1 B localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 B localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.204.141 A
192.168.204.142 B
考虑到一些CentOS改Host文件后主机名不变,可以执行以下命令改变主机名。
[root@a ~]# hostnamectl set-hostname 主机名
[root@a ~]# reboot ##重启liunx
? 2、相互通信,cookie必须保持一致,同步 rabbitmq的cookie 文件:跨服务器拷贝 .erlang.cookie (隐藏文件,使用 ls -all 显示)
.erlang.cookie 文件在/var/lib/rabbitmq/下
为了保持rabbitmq的cookie文件一致性,我们可以跨服务器拷贝.erlang.cookie文件
root@A opt]# scp /var/lib/rabbitmq/.erlang.cookie 192.168.204.142:/var/lib/rabbitmq
? 3、两台服务器都关闭防火墙,开启Rabbitmq服务
[root@A ~]# systemctl stop firewalld
[root@A ~]# systemctl start rabbitmq-server
? 4、加入集群节点
[root@B ~]# rabbitmqctl stop_app ##关闭本机RabbitMQ节点
[root@B ~]# rabbitmqctl join_cluster rabbit@A ##将本机节点集群加入A节点
[root@B ~]# rabbitmqctl start_app ##启动本机节点
5、查看管理端
-
搭建集群结构之后,之前创建的交换机、队列、用户都属于单一结构,在新的集群环境中是 不能用的 -
所以在新的集群中重新手动添加用户即可(任意节点添加,所有节点共享) -
[root@A ~]# rabbitmqctl add_user 用户名 密码
[root@A ~]# rabbitmqctl set_user_tags 用户名 administrator
[root@A ~]# rabbitmqctl set_permissions -p "/" 用户名 ".*" ".*" ".*"
-
注意:当节点脱离集群还原成单一结构后,交换机,队列和用户等数据 都会重新回来 -
这就是集群成功后的页面,但是默认集群是普通模式,系统可用性不高。因此我们要设置为镜像模式
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bSo4Z82q-1643461665580)(C:\Users\19637\AppData\Roaming\Typora\typora-user-images\image-20220129191943461.png)]](https://img-blog.csdnimg.cn/cdae013448d542e5b7314c7b06c8758e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAwrfljZfmn6_kuIDmoqbCt-OAgQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
[root@A ~]# rabbitmqctl set_policy xall "^" '{"ha-mode":"all"}'
这样镜像模式就设置成功了,在任意节点发送消息后,集群节点消息同步。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lUrfkOOi-1643461665581)(C:\Users\19637\AppData\Roaming\Typora\typora-user-images\image-20220129204531152.png)]](https://img-blog.csdnimg.cn/dbfce193249642a38d75f0eb3ddf9cc5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAwrfljZfmn6_kuIDmoqbCt-OAgQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
- 除了以上方式设置镜像模式以外,还可以在管理页面设置
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ifz4juf8-1643461665581)(C:\Users\19637\AppData\Roaming\Typora\typora-user-images\image-20220129204811334.png)]](https://img-blog.csdnimg.cn/e6ceca2c51f5459789bf3c11cad31d6b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAwrfljZfmn6_kuIDmoqbCt-OAgQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
HAProxy负载均衡
安装和配置
HAProxy下载:http://www.haproxy.org/download/1.8/src/haproxy-1.8.12.tar.gz
[root@localhost opt]# tar -zxvf haproxy-1.8.12.tar.gz
[root@localhost opt]# uname -r
? 根据内核版本选择编译参数
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dPb83AGb-1643461665581)(C:\Users\19637\AppData\Roaming\Typora\typora-user-images\image-20220129210128263.png)]](https://img-blog.csdnimg.cn/510690ac4fec4bb9913a80fb08fbc5f4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAwrfljZfmn6_kuIDmoqbCt-OAgQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
-
进入目录,编译和安装 [root@localhost opt]# cd haproxy-1.8.12
[root@localhost haproxy-1.8.12]# make TARGET=linux2628
[root@localhost haproxy-1.8.12]# make install PREFIX=/usr/local/haproxy
-
安装成功后,查看版本 [root@localhost haproxy-1.8.12]# /usr/local/haproxy/sbin/haproxy -v
-
配置启动文件,复制haproxy文件到/usr/sbin下 ,复制haproxy脚本,到/etc/init.d下
[root@localhost haproxy-1.8.12]# cp /usr/local/haproxy/sbin/haproxy /usr/sbin/
[root@localhost haproxy-1.8.12]# cp ./examples/haproxy.init /etc/init.d/haproxy
[root@localhost haproxy-1.8.12]# chmod 755 /etc/init.d/haproxy
[root@localhost haproxy-1.8.12]# useradd -r haproxy
[root@localhost haproxy-1.8.12]# mkdir /etc/haproxy
[root@localhost haproxy-1.8.12]# vim /etc/haproxy/haproxy.cfg
[root@localhost haproxy]# service haproxy start
- 访问监控中心:http://192.168.204.143:8100/monitor
- 记得关闭防火墙: systemctl stop firewalld
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oZDexXih-1643461665582)(C:\Users\19637\AppData\Roaming\Typora\typora-user-images\image-20220129210625918.png)]](https://img-blog.csdnimg.cn/86e7318f5e3e434bba1c7dea67ddd64d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAwrfljZfmn6_kuIDmoqbCt-OAgQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
|