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版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
安全 Linux 网络安全
Linux环境中安装和使用Paramiko
Linux环境中安装和使用Paramiko
125 12
|
1月前
|
Java 关系型数据库 MySQL
Linux环境
Linux环境
35 5
|
29天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
248 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
15天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
37 3
|
15天前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
29 3
|
30天前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建
|
25天前
|
Linux UED iOS开发
|
1月前
|
监控 Linux 云计算
Linux操作系统在云计算环境中的实践与优化###
【10月更文挑战第16天】 本文探讨了Linux操作系统在云计算环境中的应用实践,重点分析了其在稳定性、安全性和高效性方面的优势。通过具体案例,阐述了Linux如何支持虚拟化技术、实现资源高效分配以及与其他开源技术的无缝集成。文章还提供了针对Linux系统在云计算中的优化建议,包括内核参数调整、文件系统选择和性能监控工具的应用,旨在帮助读者更好地理解和应用Linux于云计算场景。 ###
42 3
|
1月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
319 3
|
1月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
下一篇
无影云桌面