RabbitMQ 多种安装模式

文章目录

  • 前言
  • 一、Windows 安装 RabbitMq
    • 1、版本关系
    • 2、Erlang
      • 2.1、下载安装 Erlang 23.1
      • 2.2、配置 Erlang 环境变量
    • 3、RabbitMQ
      • 3.1、下载安装 RabbitMQ 3.8.9
      • 3.2、环境变量
      • 3.3、启动RabbitMQ 管理插件
      • 3.3、RabbitMQ
      • 3.4、注意事项
  • 二、安装docker
    • 1、更新系统包:
    • 2、安装必要的软件包:
    • 3、添加Docker的YUM存储库:
    • 4、安装Docker Engine:
    • 5、启动Docker:
    • 6、验证Docker安装:
  • 三、docker安装Rabbitmq
    • 1、拉取RabbitMQ镜像:
    • 2、运行RabbitMQ容器:
    • 3、访问RabbitMQ管理界面:
  • 四、docker安装Rabbitmq集群
    • 1、拉取RabbitMQ镜像:
    • 2、创建 docker 网络(让容器可以和主机通信)
    • 3、创建三个容器,端口分别是 5673 5674 5675 ,管理端口是 15673 15674 15675
    • 4、后两个节点作为内存节点加入集群
    • 5、加入集群失败


前言

本文介绍rabbitmq多种安装模式


一、Windows 安装 RabbitMq

1、版本关系

  • RabbitMQ 依赖于 Erlang,需要先安装 Erlang
  • Erlang 和 RabbitMQ 版本有对应关系
    • http://www.rabbitmq.com/which-erlang.html
      在这里插入图片描述

2、Erlang

2.1、下载安装 Erlang 23.1

如果下载太慢了,可以把地址贴到迅雷里面,下载到本机
安装地址
https://www.erlang.org/downloads/23.1
安装exe 文件一直 next 就可以

2.2、配置 Erlang 环境变量

ERLANG_HOME=C:\Program Files\erl23.1

Path 添加

%ERLANG_HOME%\bin;

dos 输入 erl,输入能显示版本号则安装正确

3、RabbitMQ

3.1、下载安装 RabbitMQ 3.8.9

安装连接

https://www.rabbitmq.com/docs/install-windows

3.2、环境变量

RABBITMQ_SERVER=C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9

Path

%RABBITMQ_SERVER%\sbin;

3.3、启动RabbitMQ 管理插件

dos 中输入

"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9\sbin\rabbitmq-plugins.bat" enable rabbitmq_management

3.3、RabbitMQ

启动

net start RabbitMQ

关闭

net stop RabbitMQ

访问管理界面:http://localhost:15672/
默认用户名:guest
默认密码为:guest

默认配置文件地址:

C:\Users\sjl\AppData\Roaming\RabbitMQ\advanced.config

数据目录:

C:\Users\sjl\AppData\Roaming\RabbitMQ\db\rabbit@用户名-mnesia

3.4、注意事项

如果遇到无法启动的问题,先尝试在控制面板 —— 服务 —— 启动。
如果已经启动了,先服务里面停掉或者尝试用命令

.\rabbitmq-server.bat stop
.\rabbitmq-server.bat start

注意只能用 dos,不要用 powershell
如果要初始化 RabbitMQ,移除全部数据:

rabbitmq-service stop
rabbitmq-service remove
rabbitmq-service install
rabbitmq-service start

二、安装docker

1、更新系统包:

先更新系统中的YUM包管理工具和所有软件包,确保系统是最新的。

sudo yum -y update

2、安装必要的软件包:

安装软件包以允许YUM通过HTTPS使用存储库。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3、添加Docker的YUM存储库:

使用 yum-config-manager 来设置存储库。

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4、安装Docker Engine:

使用下面的命令安装Docker。

sudo yum install -y docker-ce docker-ce-cli containerd.io

5、启动Docker:

启动Docker服务,并设置为开机自启动。

sudo systemctl start docker
sudo systemctl enable docker

6、验证Docker安装:

运行下面的命令以验证Docker是否正确安装和启动。

sudo docker --version

你应该能看到类似于 Docker version 20.10.7, build f0df350 的输出。

三、docker安装Rabbitmq

前提是安装了docker

1、拉取RabbitMQ镜像:

使用Docker命令拉取RabbitMQ的官方镜像。

docker pull rabbitmq:3.7.17-management

2、运行RabbitMQ容器:

运行以下命令创建并启动RabbitMQ容器。

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management
  • -d 参数是后台运行容器。
  • –name rabbitmq 为容器指定名称。
  • -p 5672:5672 暴露标准的AMQP端口。
  • -p 15672:15672 暴露Web管理界面的端口。

3、访问RabbitMQ管理界面:

启动容器后,可以通过浏览器访问RabbitMQ的Web管理界面。

http://localhost:15672

四、docker安装Rabbitmq集群

前提是安装了docker

1、拉取RabbitMQ镜像:

使用Docker命令拉取RabbitMQ的官方镜像。

docker pull rabbitmq:3.7.17-management

2、创建 docker 网络(让容器可以和主机通信)

使用Docker命令拉取RabbitMQ的官方镜像。

docker network create rabbitmqnet

3、创建三个容器,端口分别是 5673 5674 5675 ,管理端口是 15673 15674 15675

docker run -d \
--name=rabbitmq1 \
-p 5673:5672 \
-p 15673:15672 \
-e RABBITMQ_NODENAME=rabbitmq1 \
-e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
-h rabbitmq1 \
--net=rabbitmqnet \
rabbitmq:managementdocker run -d \
--name=rabbitmq2 \
-p 5674:5673 \
-p 15674:15672 \
-e RABBITMQ_NODENAME=rabbitmq2 \
-e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
-h rabbitmq2 \
--net=rabbitmqnet \
rabbitmq:managementdocker run -d \
--name=rabbitmq3 \
-p 5675:5672 \
-p 15675:15672 \
-e RABBITMQ_NODENAME=rabbitmq3 \
-e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
-h rabbitmq3 \
--net=rabbitmqnet \
rabbitmq:management

4、后两个节点作为内存节点加入集群

docker exec -it rabbitmq2 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
rabbitmqctl start_appdocker exec -it rabbitmq3 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
rabbitmqctl start_app

访问:
访问管理界面:http://dockerIp:15673/
默认用户名:guest
默认密码为:guest
在这里插入图片描述

guest 用户默认只能在当前访问。如果是本机访问虚拟机的服务,需要添加其他用户(比如 admin),分配 vhost 权限才能远程访问

./rabbitmqctl add_user admin admin
./rabbitmqctl set_user_tags admin administrator
./rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

5、加入集群失败

  • 主节点是否启动成功, 网络连接是否正常, ping hostname 能不能 ping 通?
  • 25672 端口, 防火墙是否允许
  • erlang.cookie 是否一致, 如果遇到类似这样的错误 :TCP connection succeeded but Erlang distribution failed

清除历史记录 mv /var/lib/rabbitmq/mnesia/* /tmp/,重启

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/68366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用python-docx包进行多文件word文字、字符批量替换

1、首先下载pycharm。 2、改为中文。 3、安装python-docx包。 搜索包名字,安装。 4、新建py文件,写程序。 from docx import Documentdef replace1(array1):# 替换词典(标签值按实际情况修改)dic {替换词1: array1[0], 替换…

Android中Service在新进程中的启动流程

目录 1、Service与AMS交互框架介绍 1.1、认识AMS代表IActivityManager 1.2、认识客户端代表IApplicationThread 2、Service启动流程概览 我们知道Android有四大组件,Activity、Service、ContentProvider、Broadcast,每个组件在系统运行中或者我们编写…

【信息系统项目管理师-选择真题】2011下半年综合知识答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9~10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第21题】…

read+write实现:链表放到文件+文件数据放到链表 的功能

思路 一、 定义链表: 1 节点结构(数据int型) 2 链表操作(创建节点、插入节点、释放链表、打印链表)。 二、链表保存到文件 1打开文件 2遍历链表、写文件: 遍历链表,write()将节点数据写入文件。…

【景区导游——LCA】

题目 代码 #include <bits/stdc.h> using namespace std; using ll long long; const int N 1e5 10; const int M 2 * N; int p[N][18], d[N], a[N]; ll dis[N][18]; //注意这里要开long long int h[N], e[M], ne[M], idx, w[M]; int n, k; void add(int a, int b, …

Vue 3 30天精进之旅:Day 06 - 表单输入绑定

引言 在前几天的学习中&#xff0c;我们探讨了事件处理的基本概念及其在Vue中的应用。今天&#xff0c;我们将进一步了解Vue的表单输入绑定。这是构建用户交互式应用的核心部分&#xff0c;使得我们能够方便地处理用户输入并实时更新数据。本文将介绍如何在Vue中实现单向和双向…

二进制安卓清单 binary AndroidManifest - XCTF apk 逆向-2

XCTF 的 apk 逆向-2 题目 wp&#xff0c;这是一道反编译对抗题。 题目背景 AndroidManifest.xml 在开发时是文本 xml&#xff0c;在编译时会被 aapt 编译打包成为 binary xml。具体的格式可以参考稀土掘金 MindMac 做的类图&#xff08;2014&#xff09;&#xff0c;下面的博…

反向代理模块。。

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0c;将从服务器上得到的结果返回给客户端&#xff0c;此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说&#xff0c;反向代理就相当于…

AI常见的算法

人工智能&#xff08;AI&#xff09;中常见的算法分为多个领域&#xff0c;如机器学习、深度学习、强化学习、自然语言处理和计算机视觉等。以下是一些常见的算法及其用途&#xff1a; 1. 机器学习 (Machine Learning) 监督学习 (Supervised Learning) 线性回归 (Linear Regr…

flink StreamGraph解析

Flink程序有三部分operation组成&#xff0c;分别是源source、转换transformation、目的地sink。这三部分构成DAG。 DAG首先生成的是StreamGraph。 用户代码在添加operation的时候会在env中缓存&#xff08;变量transformations&#xff09;&#xff0c;在env.execute()执行的…

WPS数据分析000010

基于数据透视表的内容 一、排序 手动调动 二、筛选 三、值显示方式 四、值汇总依据 五、布局和选项 不显示分类汇总 合并居中带标签的单元格 空单元格显示 六、显示报表筛选页

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.18 逻辑运算引擎:数组条件判断的智能法则

1.18 逻辑运算引擎&#xff1a;数组条件判断的智能法则 1.18.1 目录 #mermaid-svg-QAFjJvNdJ5P4IVbV {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-QAFjJvNdJ5P4IVbV .error-icon{fill:#552222;}#mermaid-svg-QAF…

Tensor 基本操作2 理解 tensor.max 操作,沿着给定的 dim 是什么意思 | PyTorch 深度学习实战

前一篇文章&#xff0c;Tensor 基本操作1 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 目录 Tensor 基本操作torch.max默认指定维度 Tensor 基本操作 torch.max torch.max 实现降维运算&#xff0c;基于指定的 d…

【ESP32】ESP-IDF开发 | WiFi开发 | UDP用户数据报协议 + UDP客户端和服务器例程

1. 简介 UDP协议&#xff08;User Datagram Protocol&#xff09;&#xff0c;全称用户数据报协议&#xff0c;它是一种面向非连接的协议&#xff0c;面向非连接指的是在正式通信前不必与对方先建立连接&#xff0c; 不管对方状态就直接发送。至于对方是否可以接收到这些数据内…

动手学深度学习-卷积神经网络-3填充和步幅

目录 填充 步幅 小结 在上一节的例子&#xff08;下图&#xff09; 中&#xff0c;输入的高度和宽度都为3&#xff0c;卷积核的高度和宽度都为2&#xff0c;生成的输出表征的维数为22。 正如我们在 上一节中所概括的那样&#xff0c;假设输入形状为nhnw&#xff0c;卷积核形…

Airflow:精通Airflow任务依赖

任务依赖关系是任何工作流管理系统的核心概念&#xff0c;Apache Airflow也不例外。它们确定在工作流中执行任务的顺序和条件&#xff0c;确保以正确的顺序完成任务&#xff0c;并确保在相关任务开始之前成功完成先决任务。在本文中我们将探讨Apache Airflow中的任务依赖关系&a…

【数据结构】_链表经典算法OJ:合并两个有序数组

目录 1. 题目描述及链接 2. 解题思路 3. 程序 3.1 第一版 3.2 第二版 1. 题目描述及链接 题目链接&#xff1a;21. 合并两个有序链表 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 将两个升序链表合并为一个新的 升序 链表并返回。 新链表是通过拼接给…

crontabl循环定时任务和at一次性任务深度使用

文章目录 crontabl【循环定时任务】crontabl说明参数说明格式说明使用示例使用实例脚本无法执行问题官方解决方法crontabl执行报错解决办法crontab中expect脚本不能正常运行解决方案定时任务执行sh脚本中含有的expect脚本方法给crontab添加环境变量 at【一次性定时任务】说明参…

ChatGPT高效处理图片技巧使用详解

ChatGPT&#xff0c;作为OpenAI开发的预训练语言模型&#xff0c;主要用于生成自然语言文本的任务。然而&#xff0c;通过一些技巧和策略&#xff0c;我们可以将ChatGPT与图像处理模型结合&#xff0c;实现一定程度上的图像优化和处理。本文将详细介绍如何使用ChatGPT高效处理图…