Linux搭建RabbitMQ集群环境

简介: 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

在这里插入图片描述

  1. 下载完成后导入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

在这里插入图片描述

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

    高可用镜像集群配置

    2台服务器分别执行以下命令设置策略
    rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
    
相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
9月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
972 11
|
11月前
|
存储 监控 Linux
Linux环境锁定关键文件防止误删操作流程。
总结以上内容,在Linux环境下锁定重要文档避免误删涉及到多种技术手段与策略组合运作, 包括但不限于利用chatter指挥官固化文档状态至只读模式、运作ACL精准调整访问权利列表、编排自动化流程简
521 20
|
11月前
|
Linux
Linux环境下的UDEV机制及其与守护进程的关联
实际使用时管理员需要熟悉编写合适udev rules去满足特殊需求;同时也需要注意避免编写过度复杂导致无法预料结果rules.UDEVD虽然稳健但错误配置可能导致无法预料问题因此需谨慎处理相关配置工作.
389 16
|
11月前
|
存储 Linux
Linux环境下删除大文件后磁盘空间未释放问题诊断流程。
以上诊断流程涉及Linux底层机制与高级管理技能结合之处,并需要管理员根据实际环境灵活调整诊断策略与解决方案。
770 8
|
11月前
|
XML 缓存 Linux
在Linux环境下解决Visual Studio Code字体显示异常和字体替换方法。
解决Linux下VS Code字体显示异常,需要对Linux字体渲染机制有所理解,并对VS Code的配置选项进行合理设置。替换字体时则要通过系统字体配置或VS Code设置来完成。通过上述方法,可以有效地解决字体显示问题,从而提升代码编辑的视觉体验。
1620 21
|
12月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
852 10
|
11月前
|
Ubuntu 安全 Linux
Ubuntu 24.10 发行版登场:Linux 6.11 内核、GNOME 47 桌面环境
Ubuntu 24.10 还带来了 GNOME 47,增强了性能和稳定性,并引入了新功能。此版本的 Ubuntu 还默认在采用 Nvidia 显卡的硬件上切换到 Wayland,并在支持的硬件上默认使用开源的 Nvidia 560 内核模块。 另外需要注意的是,Ubuntu 24.10 是稳定版本,但作为非 LTS 版本,仅支持 9 个月。
|
11月前
|
安全 Linux 网络安全
Linux系统初步设置本地Git环境和生成SSH密钥的步骤。
现在您的Linux系统已经配置好了Git环境,并创建并添加了SSH密钥,可以安全地与远端仓库进行交互,无论是克隆、推送还是拉取操作。此过程确保了数据传输的安全并使版本控制流程更为顺畅。使用Git时应考虑定期更新并管理您的凭据,以确保安全性。
1533 0
|
12月前
|
Kubernetes Linux 网络安全
Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境
初始化成功后,记录下显示的 `kubeadm join`命令。
840 0

热门文章

最新文章