部署RabbitMQ集群

RabbitMQ集群实操手册

实战案例——部署RabbitMQ集群

案例目标

  1. 了解RabbitMQ服务的安装与配置。
  2. 了解RabbitMQ集群的配置架构。
  3. 了解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集群搭建成功!!!!

你可能感兴趣的:(rabbitmq,分布式)