• rabbitmq集群部署


    环境:
    IP地址    主机名    操作系统    防火墙和SELinux    用途
    192.168.100.143    mq01    CentOS7.4(64位)    关闭    磁盘节点
    192.168.100.144    mq02    CentOS7.4(64位)    关闭    内存节点
    192.168.100.145    mq03    CentOS7.4(64位)    关闭    内存节点
    注意,这里三台服务器都连接上互联网,另外RabbitMQ集群节点必须在同一网段里,如果是跨广域网,效果会变差。

    RabbitMQ普通集群配置
    1. 配置hosts文件
    更改三台MQ节点的计算机名分别为mq01、mq02 和mq03,然后修改hosts配置文件

    vim /etc/hostname    //其他两台相同
      mq01.localdomain

    vi /etc/hosts
    192.168.100.143 mq01  //注意不能带.注意-主机名称也要更改
    192.168.100.144 mq02
    192.168.100.145 mq03

    2.三个节点配置yum源,安装rabbitmq软件
    yum install -y epel-release

    yum install -y rabbitmq-server

    3.拷贝erlang.cookie
    Rabbitmq的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群景象。Erlang的集群中各节点是经由过程一个magic cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的权限。所以必须保证各节点cookie一致,不然节点之间就无法通信。

    [root@mq01 ~]# cat /var/lib/rabbitmq/.erlang.cookie 
    XAHPZVPYUQDWWJIOHUPQ

    用scp的方式将mq01节点的.erlang.cookie的值复制到其他两个节点中。

    scp /var/lib/rabbitmq/.erlang.cookie root@192.168.100.144:/var/lib/rabbitmq/.erlang.cookie

    scp /var/lib/rabbitmq/.erlang.cookie root@192.168.100.145:/var/lib/rabbitmq/.erlang.cookie

    4.分别查看三个节点并添加管理服务,最后启动rabbitmq服务
    RabbitMQ提供了一个非常友好的图形化监控页面插件(rabbitmq_management),让我们可以一目了然看见Rabbit的状态或集群状态。

    /usr/lib/rabbitmq/bin/rabbitmq-plugins list //查看插件安装情况

    /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management //启用rabbitmq_management服务

    service rabbitmq-server start

    5.查看监听端口(插件监控的端口是15672)

    RabbitMQ集群搭建_搭建
    6.将mq02、mq03作为内存节点加入mq01节点集群中
    在mq02、mq03执行如下命令:

    rabbitmqctl stop_app    //停掉rabbit应用

    rabbitmqctl join_cluster --ram rabbit@mq01 //加入到磁盘节点
     
    rabbitmqctl start_app  //启动rabbit应用

    RabbitMQ集群搭建_搭建_02

    RabbitMQ集群搭建_搭建_03

    (1)默认rabbitmq启动后是磁盘节点,在这个cluster命令下,mq02和mq03是内存节点,mq01是磁盘节点。
    (2)如果要使mq02、mq03都是磁盘节点,去掉–ram参数即可。
    (3)如果想要更改节点类型,可以使用命令rabbitmqctl change_cluster_node_type disc(ram),前提是必须停掉rabbit应用

    7.查看集群状态

    RabbitMQ集群搭建_集群_04

    本文出自:https://blog.51cto.com/u_11134648/2155934

  • 相关阅读:
    浅谈 cosos2d-x 的ImageView和Sprite的区别
    浅谈JS数据遍历的几种方式
    浅谈Cocos2d-js cc.director
    JavaScript的Let用法
    JS开发工具WebStorm使用快捷键
    python 文件操作
    浅谈代码自动构建工具
    rhel6.4 zabbix 安装时少的bcmath mbstring
    Security:090476]Invalid/unknown SSL header was received from peer locahost during SSL handshake
    jconsole
  • 原文地址:https://www.cnblogs.com/zrxuexi/p/16224714.html
Copyright © 2020-2023  润新知