• docker 安装 rabbitmq 集群


    14.1、下载

    下载版本 3.8.3

    # docker pull rabbitmq:3.8.3

    14.2 安装

    14.2.1配置挂载目录

    数据挂载目录

    # mkdir -p /home/soft/rabbitmq/data1

    # mkdir -p /home/soft/rabbitmq/data2

    # mkdir -p /home/soft/rabbitmq/data3

    # chmod 777 /home/soft/rabbitmq/*

    14.2.2创建私有网络

    // 用到静态IP 所以这里用-subnet配置。 直接用docker network create rabbitmqnet

    // 是不行的

    # docker network create --subnet=172.18.0.0/16 rabbitmqnet

    // 查看网络

    #  docker network inspect rabbitmqnet

    14.2.3 安装

    创建了3个容器,rabbitmq1 、rabbitmq2rabbitmq3 使用的网络都是rabbitmqnet 。设置静态IP,同时指定其他容器的IP加入在host中。

    docker run -d

    -p 5672:5672

    -p 15672:15672

    -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie'

    -e RABBITMQ_DEFAULT_USER='admin'

    -e RABBITMQ_DEFAULT_PASS='123456'

    --net=rabbitmqnet

    --ip 172.18.0.10

    --add-host=rabbit2:172.18.0.11

    --add-host=rabbit3:172.18.0.12

    -h rabbit1

    -v /home/soft/rabbitmq/data1:/var/lib/rabbitmq  

    --name=rabbitmq1

    rabbitmq:3.8.3

    docker run -d

    -p 5673:5672

    -p 15673:15672

    -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie'

    -e RABBITMQ_DEFAULT_USER='admin'

    -e RABBITMQ_DEFAULT_PASS='123456'

    --net=rabbitmqnet

    --ip 172.18.0.11

    --add-host=rabbit1:172.18.0.10

    --add-host=rabbit3:172.18.0.12

    -h rabbit2

    -v /home/soft/rabbitmq/data2:/var/lib/rabbitmq  

    --name=rabbitmq2

    rabbitmq:3.8.3

    docker run -d

    -p 5674:5672

    -p 15674:15672

    -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie'

    -e RABBITMQ_DEFAULT_USER='admin'

    -e RABBITMQ_DEFAULT_PASS='123456'

    --net=rabbitmqnet

    --ip 172.18.0.12

    --add-host=rabbit1:172.18.0.10

    --add-host=rabbit2:172.18.0.11

    -h rabbit3

    -v /home/soft/rabbitmq/data3:/var/lib/rabbitmq  

    --name=rabbitmq3

    rabbitmq:3.8.3

    14.2.4

    查看安装容器状态

    docker ps | grep rabbitmq

    14.3 加入、移除集群

    14.3.1 加入集群

    分别在rabbitmq2 、rabbitmq3上执行如下命令,将rabbitmq2 、rabbitmq3加入集群1当中,其中 rabbitmqctl join_cluster rabbit@rabbit1  这个意思是,加入集群 rabbit1 为对应的host文件中的rabbitmq1 hostname。其他  rabbitmqctl join_cluster rabbit@ 这个是固定写法。

    docker exec rabbitmq2 bash -c

    "rabbitmqctl stop_app &&

    rabbitmqctl reset &&

    rabbitmqctl join_cluster rabbit@rabbit1 &&

    rabbitmqctl start_app"

    docker exec rabbitmq3 bash -c

    "rabbitmqctl stop_app &&

    rabbitmqctl reset &&

    rabbitmqctl join_cluster rabbit@rabbit1 &&

    rabbitmqctl start_app"

    也可以进入容器后再执行,命令。

    rabbitmqctl stop_app &&

    rabbitmqctl reset &&

    rabbitmqctl join_cluster rabbit@rabbit1 &&

    rabbitmqctl start_app

    查看集群状态

    主要是看节点

    rabbitmqctl cluster_status

    如:

    看到运行节点为2

    Running Nodes

    rabbit@rabbit1

    rabbit@rabbit3

    14.3.1 移除集群

    进入到节点容器内,执行如下命令搞定。

    rabbitmqctl stop_app &&

    rabbitmqctl reset &&

    rabbitmqctl start_app

    14.4 测试访问

    通过宿主机IP+对外映射端口访问。

    http://ip:15672

    直接访问发现无法访问,此时应该是rabbitmq需要开启web界面访问插件才行,于是进入容器执行命令开启访问功能。

    # docker exec -it rabbitmq1 /bin/bash

    # rabbitmq-plugins enable rabbitmq_management

    即如果如下,表示插件加载成功:

    root@rabbit1:/# rabbitmq-plugins enable rabbitmq_management

    Enabling plugins on node rabbit@rabbit1:

    rabbitmq_management

    The following plugins have been configured:

      rabbitmq_management

      rabbitmq_management_agent

      rabbitmq_web_dispatch

    Applying plugin configuration to rabbit@rabbit1...

    The following plugins have been enabled:

      rabbitmq_management

      rabbitmq_management_agent

      rabbitmq_web_dispatch

    started 3 plugins.

    再次访问页面:我这里IP192.168.89.139

    http://192.168.89.139:15672/

    用户名,密码就是我们最初运行命令设置的admin/123456

     

     

    测试完成。

    注意,开启web插件需要在所有机器上执行,否则,无法同步。

     rabbitmq-plugins enable rabbitmq_management

  • 相关阅读:
    前五章的综合(查漏补缺)一个字一个字读,便于您的理解程度
    appium连接android真机【红米note8】碰到的问题及解决方案
    linux tz配置
    linux下卸载apache
    VM下的静态ip和动态ip的坑
    linux下安装mysql
    LR录制过程中会出现的问题
    linux下安装jdk和tomcat
    jmeter的环境变量
    jmeter实现mysql的增删改查
  • 原文地址:https://www.cnblogs.com/a393060727/p/12667825.html
Copyright © 2020-2023  润新知