环境说明:
- 操作系统:Windows Server 2019 Datacenter
- 配置:8 核 16G
- Erlang版本:24.0
- RabbitMQ版本:3.8.19
RabbitMQ 简介
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
RabbitMQ 安装
通过上面的简介我们了解到RabbitMQ是基于Erlang语言编写的,所以我们在安装RabbitMQ之前就需要先安装Erlang环境,下面是我整理好的Erlang和RabbitMQ的下载地址以及版本对照:
Erlang官网下载地址:https://www.erlang.org/
RabbitMQ官网下载地址:https://www.rabbitmq.com/
RabbitMQ和Erlang版本对照地址:https://www.rabbitmq.com/which-erlang.html
点击上面的地址我们进入到对应的官网,首先我们进入Erlang官网,点击 OTP 24.0 Release
进入到下载页面,如下图:
点击完 OTP 24.0 Release
我们进入到下载页面之后,我们选择下面的下面链接就可以进行下载了,如下图:
由于我的服务器是 x64
位操作系统,所以此处我选择了 x64
位的 Erlang 进行下载,下载完 Erlang 之后我们开始下载RabbitMQ,同样我们进入到 RabbitMQ 官网,点击旁边的版本进入下载页,如下图:
进入到下载页后我们点击上面的版本进入到 github 上提供的下载地址:
进入到 github 下载页之后我们选择对应的版本进行下载,如下图:
下载完成之后我们开始安装,安装之前我们需要检查 服务器名称
因为加入集群的时候需要保证服务器名称一致,安装也是要有先后顺序的,先安装 Erlang
然后安装 RabbitMQ
,安装操作跟普通软件安装一样,下一步就行了:
- 先安装
otp_win64_24.0.exe
- 再安装
rabbitmq-server-3.8.19.exe
安装好之后我们需要为 rabbitmq-server
设置环境变量,具体操作步骤为:
我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
在系统变量下点击新增,设置变量名为 rabbitmq_server
变量值为安装目录,如:C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.19
添加好系统变量之后我们找到 Path
变量进行编辑,在末尾加上 ;%rabbitmq_server%\sbin
然后确定,保存之后我们打开 cmd
命令行窗口输入 rabbitmq-service
检测是否安装成功,如下图:
如果提示不是内部或者外部命令,需要重启电脑。
都安装成功之后,我们在第一台主服务器上搜索 .erlang.cookie
能搜索出两个,如图:
复制出一个 .erlang.cookie
文件到另外两台服务器上进行覆盖,注意,要覆盖另外两台服务器的两个目录下都要覆盖,覆盖完之后重启另外两台服务器,重启完成之后我们需要启动 RabbitMQ
并加入集群,首先我们启动第一台服务器,执行以下命令:
rabbitmq-service stop
rabbitmq-service start
rabbitmqctl start_app
第一台服务器的 RabbitMQ
服务器启动之后我们可以执行一下命令安装可视化操作界面:
rabbitmq-plugins enable rabbitmq_management
插件安装完成之后我们可以通过浏览器访问服务器的 15672
端口访问可视化页面:
打开登陆页面后输入用户名(guest
)和密码(guest
)就能登陆进去,需要注意的是,第一次如果想要登陆进去必须是在本机,登陆进去之后的页面如下:
能够登陆进去说明咱们的第一台服务器已经装好了,那么接下来开始装第二台并加入集群,安装第二台与第一台执行同样的命令:
rabbitmq-service stop
rabbitmq-service start
rabbitmqctl start_app
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@Master01-test
rabbitmqctl start_app
需要注意的是第二台服务器加入到第一台的时候 RabbitMQ
必须先停止,等加入成功之后我们需要再启动,要不然会发生加入不进去的情况,加入的时候输入的是第一台服务器的名称而不是IP,这也是前面强调名称不能一致的原因,加入进去之后我们可以通过一下命令查看集群状态:
rabbitmqctl cluster_status
或者我们刷新刚才第一台服务器上的可视化操作界面也会发现多出一台服务器:
第三台服务器的操作和第二台也是一样,执行完以下命令:
rabbitmq-service stop
rabbitmq-service start
rabbitmqctl start_app
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@Master01-test
rabbitmqctl start_app
执行完命令之后我们重新刷新可视化页面就发现集群中出现了3台服务器了:
完成了上述操作之后 RabbitMQ
消息服务器集群就已经搭建完成了,下面我们添加以下登陆的用户,我们选择菜单中的 Admin
然后先择 Add a user
最后我们输入需要登陆的用户名、密码和选择权限保存,保存之后我们就可以通过其他电脑登陆了: