Linux搭建RabbitMQ集群环境

环境说明

  • 操作系统:CentOS7
  • Erlang版本:21.3
  • RabbitMQ版本:3.8.0

Erlang安装

下载安装包

参考链接:https://packagecloud.io/rabbitmq/erlang。精简的包,只提供运行RabbitMQ所需的组件。

  1. 选择对应版本进入下载页面
    在这里插入图片描述
  2. 复制下图中的wget地址
    在这里插入图片描述
  3. 执行下载命令
wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-21.3.8.14-1.el7.x86_64.rpm/download.rpm?distro_version_id=140

在这里插入图片描述

安装

执行安装命令

rpm -ivh erlang-21.3.8.14-1.el7.x86_64.rpm

在这里插入图片描述

验证

执行命令验证安装版本

yum info erlang 

在这里插入图片描述

RabbitMQ安装

参考链接:https://www.rabbitmq.com/install-rpm.html

下载安装包

  1. 执行下载命令,如果下载超时,点击进行下载RabbitMQ安装包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.0/rabbitmq-server-3.8.0-1.el7.noarch.rpm

在这里插入图片描述
2. 下载完成后导入key

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

安装

rpm -ivh rabbitmq-server-3.8.0-1.el7.noarch.rpm

在这里插入图片描述
上图提示缺少logrotate和socat,yum安装即可。

yum install logrotate
yum install socat

在这里插入图片描述
在这里插入图片描述
再次执行rpm -ivh rabbitmq-server-3.8.0-1.el7.noarch.rpm即可
在这里插入图片描述

启动RabbitMQ

# 启动rabbitmq
systemctl start rabbitmq-server
# 查看rabbitmq状态
systemctl status rabbitmq-server

在这里插入图片描述

设置开机自动启动

systemctl enable rabbitmq-server

在这里插入图片描述

安装管理界面

rabbitmq-plugins enable rabbitmq_management

在这里插入图片描述
guest帐号只能在RabbitMQ安装服务器上登录,如下图提示信息
在这里插入图片描述

创建用户

#创建一个用户admin,密码位123456
rabbitmqctl add_user admin 123456
#设置用户标签为administrator
rabbitmqctl set_user_tags admin administrator
#授予admin用户可访问虚拟主机 / 以及各种权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

登录管理界面

使用创建的用户登录管理界面
在这里插入图片描述

集群配置

前提条件

  • 2台服务器节点rabbit均已安装。
  • rabbitmq依赖于erlang集群工作,需要保证各节点中cookie文件的一致性,否则节点之间无法通信。

构建erlang集群

  1. 拷贝一台rabbitmq的erlang.cookie到另外一台,被拷贝的视为master
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.0.238:/var/lib/rabbitmq

在这里插入图片描述
2. 重启2个节点

systemctl restart rabbitmq-server
  1. 操作node2服务
#停止服务
rabbitmqctl stop_app
#重置服务
rabbitmqctl reset
#加入集群,$hostname为node1的hostname
rabbitmqctl join_cluster rabbit@$hostname

高可用镜像集群配置

2台服务器分别执行以下命令设置策略

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
posted @ 2022-12-09 09:52  王二蛋!  阅读(5)  评论(0编辑  收藏  举报  来源