haproxy emqx centos7 集群部署

1.软件版本选择

emqx-centos7-v3.2.8.zip

2.修改配置文件 emqx.conf

两台服务同时修改参数:

   cluster.discovery = static

   cluster.static.seeds = emqx1@192.168.174.205,emqx2@192.168.174.206

   node.name = emqx@192.168.174.205  

   node.dist_listen_min = 6369      

    node.dist_listen_max = 7369

3.分别启动两个服务器emqx

./bin/emqx start

./bin/emqx stop

4.emqx 集群

./emqx_ctl cluster join emqx@192.168.174.206

=CRITICAL REPORT==== 13-Nov-2021::06:27:06.078864 ===

[EMQ X] emqx shutdown for join

Join the cluster successfully.

Cluster status: [{running_nodes,['emqx@192.168.174.206',

                                 'emqx@192.168.174.205']}]

5. 安装 haproxy

      yum install -y haproxy

6. 修改 haproxy.cfg

#---------------------------------------------------------------------

# Example configuration for a possible web application.  See the

# full configuration options online.

#

#   http://haproxy.1wt.eu/download/1.4/doc/configuration.txt

#

#---------------------------------------------------------------------

#---------------------------------------------------------------------

# Global settings

#---------------------------------------------------------------------

global

    # to have these messages end up in /var/log/haproxy.log you will

    # need to:

    #

    # 1) configure syslog to accept network log events.  This is done

    #    by adding the '-r' option to the SYSLOGD_OPTIONS in

    #    /etc/sysconfig/syslog

    #

    # 2) configure local2 events to go to the /var/log/haproxy.log

    #   file. A line like the following can be added to

    #   /etc/sysconfig/syslog

    #

    #    local2.*                       /var/log/haproxy.log

    #

    log         127.0.0.1 local0

    chroot      /var/lib/haproxy

    pidfile     /var/run/haproxy.pid

    maxconn     4000

    user        haproxy

    group       haproxy

    daemon

    # turn on stats unix socket

    stats socket /var/lib/haproxy/stats

#---------------------------------------------------------------------

# common defaults that all the 'listen' and 'backend' sections will

# use if not designated in their block

#---------------------------------------------------------------------

defaults

    mode                     tcp

    log                     global

    option                  httplog

    option                  dontlognull

    option                  http-server-close

    option forwardfor       except 127.0.0.0/8

    option                  redispatch

    retries                 3

    timeout http-request    10s

    timeout queue           1m

    timeout connect         10s

    timeout client          1m

    timeout server          1m

    timeout http-keep-alive 10s

    timeout check           10s

    maxconn                 3000

#---------------------------------------------------------------------

# main frontend which proxys to the backends

#---------------------------------------------------------------------

frontend  main *:5000  

#  acl url_static       path_beg       -i /static /images /javascript /stylesheets

# acl url_static       path_end       -i .jpg .gif .png .css .js

#  use_backend static          if url_static

    default_backend              mqtt_backend

#---------------------------------------------------------------------

# static backend for serving up images, stylesheets and such

#---------------------------------------------------------------------

#backend static

#   balance     roundrobin

#   server      static 192.168.174.205:3306 check

#---------------------------------------------------------------------

# round robin balancing between the various backends

#--------------------------------------------------------------------

 backend              mqtt_backend

    balance           leastconn

    server  mqtt1 192.168.174.205:1883 check inter 10000 fall 2 rise 5 weight 1

    server  mqtt2 192.168.174.206:1883 check inter 10000 fall 2 rise 5 weight 1

    #server  app3 127.0.0.1:5003 check

   # server  app4 127.0.0.1:5004 check

listen admin_stats

    mode    http

    stats   enable

    bind    *:7777

    stats   refresh 30s

    stats   uri /admin

    stats   realm haproxy

    stats   auth root:root

    stats   hide-version

7.编写 接口推送数据测试 略.

server:

  port: 8081

#emqx

mqtt:

  serverURIs:  tcp://192.168.174.204:5000   ## 代理端口号

  username: admin

  password: public

  client:

    id: ${random.value}

  topic: topic_test

8. EMQ 页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值