RabbitMQ集群实操手册
实战案例——部署RabbitMQ集群
案例目标
- 了解RabbitMQ服务的安装与配置。
- 了解RabbitMQ集群的配置架构。
- 了解RabbitMQ集群的使用。
案例分析
使用提供的OpenStack私有云平台,创建三个centos7.5系统的云主机,使用RabbitMQ.tar.gz中的软件包安装RabbitMQ服务,安装完毕后,搭建RabbitMQ集群,并打开RabbitMQ服务的图形化监控页面插件。集群使用普通集群模式,其中第一台做磁盘节点,另外两台做内存节点。
1.规划节点
IP | 主机名 | 节点 |
---|---|---|
192.168.100.10 | master | RabbitMQ 磁盘节点 |
192.168.100.20 | node1 | RabbitMQ 内存节点 |
192.168.100.30 | node2 | RabbitMQ 内存节点 |
2.基础准备
使用OpenStack平台创建三台云主机进行实验,
云主机镜像使用提供的CentOS_7.5_x86_64_XD.qcow2镜像
flavor使用1核/2G内存/20G硬盘,自行配置网络并使用远程连接工具连接云主机。
节点规划表中的IP地址为作者的IP地址,在进行实操案例的时候,按照自己的环境规划网络与IP地址。
3.案例实施
1.基础环境安装
(1)使用远程连接工具CRT连接到192.168.100.10、192.168.100.20、192.168.100.30这三台虚拟机,并对这三台虚拟机进行修改主机名的操作。命令如下:
【master】节点
[root@node ~]# hostnamectl set-hostname master
【node1】节点
[root@node ~]# hostnamectl set-hostname node1
【node2】节点
[root@node ~]# hostnamectl set-hostname node2
三个节点同步操作
(2)修改hosts文件将IP地址映射为主机名;
#添加两行
[root@master ~]# vi /etc/hosts
192.168.100.10 master
192.168.100.20 node1
192.168.100.30 node2
(3)关闭控制节点的防火墙,设置开机不启动;
[root@controller ~]# systemctl stop firewalld && systemctl disable firewalld
(4)设置SELinux为Permissive 模式。
[root@controller ~]# setenforce 0
[root@controller ~]# vi /etc/selinux/config
#修改第7行
SELINUX=permissive
2.配置yum源
[root@master ~]# tar xf rabbitmq-repo.tar.gz -C /opt/
####【master】节点
[root@master ~]# cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[rabbitmq]
name=rabbitmq
baseurl=file:///opt/rabbitmq-repo
gpgcheck=0
enabled=1
####【node】节点
[root@node1 yum.repos.d]# cat local.repo
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[rabbitmq]
name=rabbitmq
baseurl=ftp://192.168.100.10/rabbitmq-repo
gpgcheck=0
enabled=1
3.安装RabbitMQ服务并启动
配置完毕后,三个节点安装RabbitMQ服务,命令如下:
[root@所有的节点 ~]# yum -y install rabbitmq-server
[root@所有的节点 ~]# systemctl enable rabbitmq-server --now
【master】
[root@master ~]# scp /var/lib/rabbitmq/.erlang.cookie node1:/var/lib/rabbitmq/
[root@master ~]# scp /var/lib/rabbitmq/.erlang.cookie node2:/var/lib/rabbitmq/
#######################在所有节点上操作
[root@node1 yum.repos.d]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
[root@node1 yum.repos.d]# systemctl restart rabbitmq-server //重启rabbitmq-server服务
#加入集群
########################在node1,node2上操作
[root@node1 yum.repos.d]# rabbitmqctl stop_app //停掉rabbit应用
Stopping node rabbit@node1 ...
...done.
[root@node1 yum.repos.d]# rabbitmqctl join_cluster --ram rabbit@master //加入到磁盘节点
Clustering node rabbit@node1 with rabbit@master ...
...done.
[root@node1 yum.repos.d]# rabbitmqctl start_app //启动rabbit应用
Starting node rabbit@node1 ...
...done.
[root@node2 ~]# rabbitmqctl stop_app //停掉rabbit应用
[root@node2 ~]# rabbitmqctl join_cluster --ram rabbit@master //加入到磁盘节点
[root@node2 ~]# rabbitmqctl start_app //启动rabbit应用
【master】
[root@master ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@master ...
[{nodes,[{disc,[rabbit@master]},{ram,[rabbit@node2,rabbit@node1]}]},
{running_nodes,[rabbit@node2,rabbit@node1,rabbit@master]},
{cluster_name,<<"rabbit@master">>},
{partitions,[]}]
...done.
访问IP地址:15672 默认用户名:guest 默认密码:guest
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FIBQrB65-1660746159527)(C:\Users\liufeng\Desktop\f33c754d410e5b0b0a6005ffd3de619.png)]
ster_name,<<“rabbit@master”>>},
{partitions,[]}]
…done.
浏览器访问:IP地址:15672 默认用户名:guest 默认密码:guest
PabbitMQ集群搭建成功!!!!