搜索
您的当前位置:首页搭建高可用RabbitMQ镜像模式集群

搭建高可用RabbitMQ镜像模式集群

来源:乌哈旅游

搭建高可用RabbitMQ镜像模式集群

#地址解析
192.168.122.102 rabbitmq1
192.168.122.67 rabbitmq2
192.168.122.25 rabbitmq3
#安装依赖和软件包并启动(3台)
yum -y install erlang
yum -y install socat
yum -y install rabbitmq-server
systemctl start rabbitmq-server.service
systemctl enable rabbitmq-server.service
#启动 rabbitmq 内置 web 插件, 管理 rabbitmq 账号等信息(不装这个没有15672端口)
rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server.service
#统一erlang.cookie 文件中 cookie 值
scp /var/lib/rabbitmq/.erlang.cookie rabbitmq2:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie rabbitmq3:/var/lib/rabbitmq/.erlang.cookie
chmod 600 /var/lib/rabbitmq/.erlang.cookie
#把rabbitmq2、rabbitmq3添加到rabbitmq1(rabbitmq2、3上操作)
rabbitmqctl stop_app
rabbitmq join_cluster --ram rabbit@rabbitmq1
rabbitmqctl start_app
#搭建rabbitmq的镜像高可用模式集群
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

haproxy(2台)

global
    log                     127.0.0.1 local0
    chroot                  /var/lib/haproxy
    pidfile                 /var/run/haproxy.pid
    maxconn                 4000
    user                    nobody
    group                   nobody
    daemon

defaults
    mode                     http
    log                      global
    option                   dontlognull
    retries                  3
    maxconn                  3000
    contimeout               50000
    clitimeout               50000
    srvtimeout               50000

listen stats
    bind                    *:8888
    stats                   enable
    stats                   hide-version
    stats uri               /haproxy
    stats realm             Haproxy\ stats
    stats auth              admin:admin
    stats admin             if TRUE

listen rabbitmq
         bind *:15672
         mode tcp
         balance roundrobin
         server rabbitmq1 192.168.122.102:15279
         server rabbitmq1 192.168.122.27:15279
         server rabbitmq1 192.168.122.65:15279

keepalived(2台)

! Configuration File for keepalived

global_defs {
   router_id directory1
}
vrrp_script check_haproxy {
   script "/etc/keepalived/check_haproxy.sh"
   interval 5
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 89
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.122.100
    }

track_script {
        check_haproxy
    }
}

! Configuration File for keepalived

global_defs {
   router_id directory1
}
vrrp_script check_haproxy {
   script "/etc/keepalived/check_haproxy.sh"
   interval 5
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 89
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.122.100
    }
track_script {
        check_haproxy
    }
}

测试

因篇幅问题不能全部显示,请点此查看更多更全内容

Top