• RabbitMQ之集群管理


    1、在node2、node3、node4三台Linux虚拟机中安装RabbitMQ

    2、从node2拷贝.erlang.cookie到node3、node4的相应目录

            如果没有该文件,手动创建/var/lib/rabbitmq/.erlang.cookie ,生成Cookie字符串,或者启动一次RabbitMQ自动生成该文件。生产中推荐使用第三方工具生成。

    我们首先在node2上启动单机版RabbitMQ,以生成Cookie文件:

    systemctl start rabbitmq-server

            开始准备同步.erlang.cookie 文件。RabbitMQ的集群依赖Erlang的分布式特性,需要保持Erlang Cookie一致才能实现集群节点的认证和通信,我们直接使用scp命令从node1远程传输。

    1. scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/
    2. scp /var/lib/rabbitmq/.erlang.cookie root@node4:/var/lib/rabbitmq/

    修改node3和node4上该文件的所有者为rabbitmq:rabbitmq:

    chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

    注意.erlang.cookie文件权限为400:

     

    3、使用下述命令启动node3和node4上的RabbitMQ:

    systemctl start rabbitmq-server

    4、将node3和node4这两个节点加入到集群中

    分别执行如下命令:

    1. # 停止Erlang VM上运行的RabbitMQ应用,保持Erlang VM的运行
    2. rabbitmqctl stop_app
    3. # 移除当前RabbitMQ虚拟主机中的所有数据:重置
    4. rabbitmqctl reset
    5. # 将当前RabbitMQ的主机加入到rabbit@node2这个虚拟主机的集群中。一个节点也是集群。
    6. rabbitmqctl join_cluster rabbit@node2
    7. # 启动当前Erlang VM上的RabbitMQ应用
    8. rabbitmqctl start_app
    1. rabbit@node2 表示RabbitMQ节点名称,默认前缀就是rabbit , @ 之后是当前虚拟主机所在的物理主机hostname 。
    2. 注意检查下hostname要可以相互ping通
    3. join_cluster默认是使用disk模式,后面可以加入参数--ram启用内存模式

    移出集群节点使用:

    1. # 将虚拟主机(RabbitMQ的节点)rabbit@node3从集群中移除,但是rabbit@node3还保留集群信息
    2. # 还是会尝试加入集群,但是会被拒绝。可以重置rabbit@node3节点。
    3. rabbitmqctl forget_cluster_node rabbit@node3
    1. #修改集群名称(任意节点执行都可以)
    2. rabbitmqctl set_cluster_name
    3. #查看集群状态(任意节点执行都可以)
    4. rabbitmqctl cluster_status

    在三个RabbitMQ节点上的任意一个添加用户,设置用户权限,设置用户标签,即可 

    1. rabbitmqctl add_user root 123456
    2. rabbitmqctl set_permissions --vhost "/" root ".*" ".*" ".*"
    3. rabbitmqctl set_user_tags --vhost "/" root administrator

            可以到web控制台查看集群信息,如果要看到所有RabbitMQ节点上的运行情况,都需要启用rabbitmq_management 插件。

  • 相关阅读:
    c语言练习84:动态内存管理
    未履行数据保护义务造成数据泄露,某大药房被罚110万
    蓝色背景—旅游
    TLS 加速技术:Intel QuickAssist Technology(QAT)解决方案
    大势&山维 | 全盘自主可控的实景三维中国建设解决方案
    【毕业设计】基于STM32的空气质量检测仪 - 环境检测盒子 - 单片机 物联网
    HCIA -- 动态路由协议之RIP
    动态规划之线性DP
    ubuntu20.04 nerf开山之作
    APP备案您清楚了吗?
  • 原文地址:https://blog.csdn.net/weixin_52851967/article/details/128151573