搭建 rabbitmq 3.9 集群篇

搭建 rabbitmq 3.9 集群篇

  1. 参照https://www.cnblogs.com/thomas-fan/p/15915203.html文章,搭建单体应用

    本文 host 如 下图

    image-20220220122033602

  2. 同步 cookie

    scp /var/lib/rabbitmq/.erlang.cookie root@node-1:/var/lib/rabbitmq/
    scp /var/lib/rabbitmq/.erlang.cookie root@node-2:/var/lib/rabbitmq/
    
  3. 重启各节点

    reboot
    
  4. 如按上篇文章配置好自启动可忽略此步骤

    systemctl start rabbitmq-server
    
  5. 分别停止三台节点并分离

    rabbitmqctl stop
    rabbitmq-server -detached
    
  6. 子节点加入集群

    rabbitmqctl stop_app
    rabbitmqctl join_cluster rabbit@master-node
    rabbitmqctl start_app
    
  7. 创建集群用户

    # 添加 root 账号,密码 root
    rabbitmqctl add_user root root
    # 设置为管理员角色
    rabbitmqctl set_user_tags root administrator
    # 设置路径权限
    rabbitmqctl set_permissions -p "/" root ".*" ".*" ".*"
    
  8. 登录网页端集群正常

    image-20220220133450310

  9. 主节点设置所有队列镜像模式

    rabbitmqctl set_policy xall "^" '{"ha-mode":"all"}'
    
  10. 集成 ha-proxy

    # 下载
    wget http://www.haproxy.org/download/2.5/src/haproxy-2.5.3.tar.gz
    tar -zxvf haproxy-2.5.3.tar.gz
    # 编译安装
    cd haproxy-2.5.3
    make TARGET=linux-glibc PREFIX=/usr/local/haproxy
    make install PREFIX=/usr/local/haproxy 
    # 添加用户
    useradd -r haproxy
    # 创建配置文件
    mkdir -p /etc/haproxy
    vim /etc/haproxy/haproxy.cfg
    # 拷贝初始化脚本至 init.d
    cp examples/haproxy.init /etc/init.d/haproxy
    # 修改执行脚本地址
    vim haproxy
    BIN=/usr/local/haproxy/sbin/$BASENAME
    # 保存
    
    # 添加执行权限
    chmod 755 /etc/init.d/haproxy
    # 开机自启
    chkconfig haproxy on
    
    # 全局配置
    global
    	# 日志
    	log 127.0.0.1 local0 info
    	# 工作目录
    	chroot /usr/local/haproxy
    	# 用户,用户组设置
    	user haproxy
    	group haproxy
    	# 运行进程 ID
    	uid 99
    	gid 99
    	# 守护进程启动
    	daemon
    	# 最大连接数
    	maxconn 4096
    # 默认配置
    defaults
    	# 应用全局的日志配置
    	log global
    	# 默认的模式mode {tcp|http|health},TCP是4层,HTTP是7层,health只返回OK
    	mode tcp
    	# 日志类别 tcplog
    	option tcplog
    	# 不记录健康日志信息
    	option dontlognull
    	# 3 次重试
    	retries 3
    	# 每个进程可用的最大连接数
    	maxconn 2000
    	# 链接超时
    	timeout connect 5s
    	# 客户端超时 30s,ha 重新链接
    	timeout client 30s
    	# 服务端超时 15s,ha 重新链接
    	timeout server 15s
    # 绑定配置
    listen rabbitmq_cluster
    	# 监听本机 5672
    	bind 192.168.31.200:5672
    	# 配置 TCP模式
    	mode tcp
    	# 负载均衡使用轮询
    	balance roundrobin
    	# RabbitMQ集群节点配置,每隔5秒对mq集群做检查,2次正确证明服务可用,3次失败证明服务不可用
    	server master-node 192.168.31.201:5672 check inter 5000 rise 2 fall 3
    	server node-1 192.168.31.202:5672 check inter 5000 rise 2 fall 3
    	server node-2 192.168.31.203:5672 check inter 5000 rise 2 fall 3
    # haproxy 监控页面地址
    listen monitor
    	bind 192.168.31.200:8100
    	mode http
    	option httplog
    	stats enable
    	# 监控页面地址 http://192.168.31.200:8100/monitor
    	stats uri /monitor
    	stats refresh 5s
    
posted @ 2022-02-20 13:36  那个吧..你懂的!  阅读(363)  评论(0编辑  收藏  举报