首页 > 其他分享 >RabbitMQ普通集群同一宿主机docker搭建

RabbitMQ普通集群同一宿主机docker搭建

时间:2024-08-13 10:05:24浏览次数:10  
标签:-- 宿主机 RABBITMQ rabbitmqctl rabbitmq RabbitMQ docker 节点

1.准备3个节点安装rabbitmq,搭建集群(注意:每个节点启动间隔15~20s,如果启动失败,需删除宿主机文件重新启动)
2.宿主机文件目录手动创建,并设置可操作权限

  • 准备宿主机文件目录
    cd /usr/local/
  • 创建rabbitmq映射目录
    mkdir rabbitmq
    cd rabbitmq
    mkdir 1
    mkdir 2
    mkdir 3
    cd 1
    mkdir lib
    mkdir log
    chmod 777 lib
    chmod 777 log
    注意:1.2.3个节点文件目录一致
    3.rabbitmq安装命令
  • 获取rabbitmq镜像
    docker pull rabbitmq:management
  • 节点1安装命令(主节点,创建-v映射目录)
    docker run -d --hostname rabbitmq_host1 --name rabbitmq1 -p 15672:15672 -p 5672:5672 -e RABBITMQ_NODENAME=rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=xxx333.78 -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie' --privileged=true -v /usr/local/rabbitmq/1/lib:/var/lib/rabbitmq -v /usr/local/rabbitmq/1/log:/var/log/rabbitmq rabbitmq:management
  • 节点2安装命令(创建-v映射目录)
    docker run -d --hostname rabbitmq_host2 --name rabbitmq2 -p 15673:15672 -p 5673:5672 --link rabbitmq1:rabbitmq_host1 -e RABBITMQ_NODENAME=rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=xxx333.78 -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie' --privileged=true -v /usr/local/rabbitmq/2/lib:/var/lib/rabbitmq -v /usr/local/rabbitmq/2/log:/var/log/rabbitmq rabbitmq:management
  • 节点3安装命令(-v映射目录)
    docker run -d --hostname rabbitmq_host3 --name rabbitmq3 -p 15674:15672 -p 5674:5672 --link rabbitmq1:rabbitmq_host1 --link rabbitmq2:rabbitmq_host2 -e RABBITMQ_NODENAME=rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=xxx333.78 -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie' --privileged=true -v /usr/local/rabbitmq/3/lib:/var/lib/rabbitmq -v /usr/local/rabbitmq/3/log:/var/log/rabbitmq rabbitmq:management
    4.3个节点启动完毕,配置集群
  • 节点1(主节点配置集群)
    docker exec -it rabbitmq1 bash
    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl start_app
    exit
  • 节点2加入集群(--ram以内存方式加入,默认为磁盘节点)
    docker exec -it rabbitmq2 bash
    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl join_cluster --ram rabbit@rabbitmq_host1
    rabbitmqctl start_app
    exit
  • 节点3加入集群(--ram以内存方式加入,默认为磁盘节点)
    docker exec -it rabbitmq3 bash
    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl join_cluster --ram rabbit@rabbitmq_host1
    rabbitmqctl start_app
    exit
    5.打开web端http:ip:端口号/15672,主节点上创建队列,进行测试

标签:--,宿主机,RABBITMQ,rabbitmqctl,rabbitmq,RabbitMQ,docker,节点
From: https://www.cnblogs.com/stone-999/p/18356218

相关文章

  • 【Docker】史上最全 Docker 教程
    Docker入门:史上最全Docker教程安装curl-sSLhttps://get.docker.com/|shsudochmod777/var/run/docker.sock在后台创建和运行容器$dockerrun-d-p80:80docker/getting-started-d-以分离(后台)模式运行容器-p80:80-将端口80映射到容器中......
  • Windows10下Docker安装Mysql5.7
    一、环境说明:docker:v4.25.0mysql:5.7二、 打开命令工具打开WindowsPowerShell 三、搜索镜像dockersearchmysql  四、拉取镜像拉取最新版本dockerpullmysql 拉取特定版本dockerpullmysql:5.7 五、查看所有镜像dockerimages 六、启......
  • Docker 的基本概念和优势,以及在应用程序开发中的实际应用
    Docker是一种用于虚拟化和部署应用程序的开源平台,它采用容器化技术,可以将应用程序及其依赖项打包成一个独立的、可移植的容器。以下是Docker的基本概念和优势:容器:Docker利用操作系统层面的虚拟化技术,将应用程序及其依赖项打包成一个独立的容器。每个容器都是独立的、可互......
  • Jenkins+gitlab+harbor+docker-compose自动化部署配置
    本文主要讲解Jenkins在Linux环境下实现自动化部署项目(提供一种思路)持续集成与持续部署(CI/CD)流程的实现,需要依赖一系列先进的工具和技术。这些工具不仅提高了开发效率,还确保了代码质量和发布的可靠性。以下是构建CI/CD流程所需的关键工具列表及其作用概述:Jenkins-作为自动化......
  • docker之修改容器中的文件
    一、目的:使用dockerpull项目后,想进去看看项目的组织架构。二、解决办法1)启动docker-->systemctlstartdocker2)看docker下的项目有啥  dockerimages3)查看dockerps并进入容器 三、修改容器内的文件1)比如想修改app_mysql.yml文件,直接执行viapp_mysql.yml则会......
  • ubuntu 22.04 安装 docker(服务器从毛胚到精装)
    1、用户操作阿里云默认是root用户,我们一般要自己创建一个用户,然后给该用户sudo权限添加用户sudoaddusernewUserName赋予sudo权限sudousermod-aGsudonewUserName删除用户sudodeluser--remove-home--remove-all-filesnewUserName切换用户sudosu-newUse......
  • docker 详细教程(通俗易懂,带有应用示例)
    1、Docker基本概念什么是Docker?Docker是一个开源的容器化平台,允许开发者封装他们的应用程序及其所有依赖项到一个标准化的单元中,这个单元被称为“容器”。容器可以在任何支持Docker的环境中运行,从而确保应用程序的可移植性和一致性。Docker的优势一致性和可移植性......
  • docker 详细教程(通俗易懂,带有应用示例)
    1、Docker基本概念什么是Docker?Docker是一个开源的容器化平台,允许开发者封装他们的应用程序及其所有依赖项到一个标准化的单元中,这个单元被称为“容器”。容器可以在任何支持Docker的环境中运行,从而确保应用程序的可移植性和一致性。Docker的优势一致性和可移植性:Docke......
  • 深入理解Docker容器管理:优雅停止运行中的容器
    在现代的软件开发和运维领域,Docker容器技术已经成为一种主流的轻量级虚拟化解决方案。容器的生命周期管理是容器化技术中一个重要的组成部分,而停止一个正在运行的Docker容器是容器生命周期管理中的常见操作。本文将详细介绍如何优雅地停止一个正在运行的Docker容器,包括......
  • docker之pull失败。error pulling image configuration: download failed after attem
    一、问题描述docker部署完成后,想pull项目,但是就是报错:errorpullingimageconfiguration:downloadfailedafterattempts=6:dialtcp108.160.170.26:443:connect:connectionrefused, 更奇葩的是执行dockersearchhello-world是可以的。二、解决问题1)问题分析:看报......