1 部署说明
1.1 环境准备
IP地址 | 主机名 | 操作系统 | 用途 | 软件版本 |
---|---|---|---|---|
192.168.15.12 | mq01 | Centos 7.8 | 磁盘节点 | rabbitmq-server-3.8.3,erlang-22.3.4,socat-1.7.3.2 |
192.168.15.13 | mq02 | Centos 7.8 | 内存节点 |
1.2 配置主机和hosts文件
- 更改二台mq节点的主机名为mq01,mq02.
[root@mq01 ~]# vim /etc/hostname
mq01 //另一台改为mq02
- 然后修改hosts配置文件。
[root@mq01 ~]# vim /etc/hosts
192.168.15.12 mq01
192.168.15.13 mq02
127.0.0.1 mq01 //另一台为127.0.0.1 mq02
::1 mq01 //另一台为 ::1 mq02
1.3 安装基础组件
1.3.1 安装Rabbitmq-server和Erlang
- 下载软件包
www.dest-unreach.org/socat/downl…
下载好后上传到当前文件夹
- 安装Erlang
yum localinstall erlang-22.3.4-1.el7.x86_64.rpm
- 安装Socat依赖
tar zxvf socat-1.7.3.2.tar.gz
cd socat-1.7.3.2
./configure
make && make install
- 安装Rabbitmq-server
rpm –import rabbitmq-release-signing-key.asc
yum localinstall rabbitmq-server-3.8.3-1.el7.noarch.rpm
1.3.2 服务管理
- 启动服务
systemctl start rabbitmq-server
- 把mq01的erlang.cookie拷贝到其他主机
[root@mq01 ~]# scp /var/lib/rabbitmq/.erlang.cookie root@192.168.15.13:/var/lib/rabbitmq/.erlang.cookie
[root@mq01 ~]# scp /root/.erlang.cookie root@192.168.15.13:/root/.erlang.cookie
[root@mq02 ~]# systemctl restart rabbitmq-server
- 添加WEB管理服务
/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server start
1.4 加入集群
- mq02先暂停rabbitmq
[root@mq02 ~]# rabbitmqctl stop_app
- 将mq02加入集群
[root@mq02 ~]# rabbitmqctl reset
[root@mq02 ~]# rabbitmqctl join_cluster –ram rabbit@mq01
Clustering node rabbit@mq02 with rabbit@mq01
[root@mq02 ~]# rabbitmqctl start_app
- 查看集群状态
rabbitmqctl cluster_status
1.5 登录WEB控制台
1.5.1 修改登录配置文件
vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/ebin/rabbit.app
将rabbit.app中的{loopback_users, [<<”guest”>>]},改为{loopback_users, []}
systemctl restart rabbitmq-server
1.5.2 登录
打开浏览器输入http://nodeip:15672, 输入默认的Username:guest,输入默认的Password: guest 。
2 Rabbimq镜像集群部署说明
2.1 创建rabbitmq策略
在mq01节点的控制台上创建策略
(1)点击admin菜单–>右侧的Policies选项–>左侧最下下边的Add/update a policy。
(2)Definition设置ha-mode为all,将集群设置为镜像模式
(3)点击Add policy。
Name: policy的名称
Pattern: exchanges或queue名称的匹配模式(正则表达式)
Definition:镜像定义,包括三个部分ha-mode, ha-params, ha-sync-mode
ha-mode:指明镜像队列的模式,有效值为 all/exactly/nodes
all:表示在集群中所有的节点上进行镜像。
Priority:可选参数,policy的优先级
2.2 创建队列
在mq01节点的控制台上添加队列
(1) 点击Queues菜单–>左侧下边的Add a new queue。
(2) 输入参数,点击Add queue。