美文网首页
#EMQ X集群安装

#EMQ X集群安装

作者: 运维狗Bazinga | 来源:发表于2018-12-17 18:36 被阅读0次

    EMQ X集群安装


    EMQ X R3.0 消息服务器简介

    ```
    EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。
    Erlang/OTP 是出色的软实时(Soft-Realtime)、低延时(Low-Latency)、分布式(Distributed) 的语言平台。
    MQTT 是轻量的(Lightweight)、发布订阅模式(PubSub) 的物联网消息协议。
    EMQ X 项目设计目标是承载移动终端或物联网终端海量 MQTT 连接,并实现在海量物联网设备间快速低延时消息路由:
    
    稳定承载大规模的 MQTT 客户端连接,单服务器节点支持50万到100万连接。
    分布式节点集群,快速低延时的消息路由,单集群支持1000万规模的路由。
    消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
    完整物联网协议支持,MQTT、MQTT-SN、CoAP、WebSocket 或私有协议支持
    ```
    

    环境准备

    centos 7.2 3台

    软件版本:emqx-centos7-v3.0-rc.5.x86_64.rpm 下载地址

    安装步骤

    ```
      1. rpm -ivh  emqx-centos7-v3.0-rc.5.x86_64.rpm ## 使用rpm包格式安装
      2. emqx的相关目录路径
         /etc/emqx              #存放配置文件插件等等
         /var/lib/emqx          #数据路径,建议用软连接链接到数据盘
         /var/log/emqx          #日志路径,建议用软连接链接到数据盘
         ```
          cd /var/lib/ 
          mv emqx/ /data/soft/emqx/
          ln -s /data/soft/emqx/ emqx/
          cd /var/log
          mv emqx/ /data/soft/emqx/logs/
          ln -s /data/soft/emqx/logs emqx/
          ```
      3.配置文件  cat /etc/emqx/emqx.conf ,修改以下参数
          ```
          node.name = emqx@10.10.63.16  //名字将作为加入集群的身份标识,使用当前节点主机IP地址。
          zone.external.max_mqueue_len = 0 //emqx server 消费队列长度,如果队列满了, 消息会被丢弃. 0是无上限
          zone.external.session_expiry_interval = 12h //session持久化时间,增大至12小时
          zone.external.max_inflight = 128  //增加飞行窗口大小,主要作用于Qos 1,2 的消息,存储发送但还没有给回执的消息的队列大小
          zone.external.await_rel_timeout = 600s  //客户端等待服务端对于Qos2消息发送消息释放的等待时间,超过时间消息会被drop掉。
            //这些都是开发爸爸要求改的,我完全不懂是什么意思!
          ```
      4. 启动服务 systemctl start emqx.service
      5. 集群操作:
         加入集群emqx_ctl cluster join emqx@10.10.63.16 //在实际操作时大概需要A Join B, B Join C。
         查看集群运行状态:emqx_ctl cluster status,得到如下返回
         Cluster status: [{running_nodes,['emqx@10.10.69.11','emqx@10.10.133.81',
                                 'emqx@10.10.63.16']}]
                                 
                                 
      6. 服务开启密码验证:
             vi /etc/emqx/plugins/emqx_auth_username.conf  
                ```
                ##--------------------------------------------------------------------
                ## Username Authentication Plugin
                ##--------------------------------------------------------------------
    
                ## Examples:
                auth.user.1.username = xxxx
                auth.user.1.password = xxxxxxxxx
                
                ```
         
    ```
    

    遇到的问题

        1.  tcp/1883端口无法启动
            解决办法,进入 /var/lib/emqx/mnesia目录,删除该目录下所有内容。并重新启动服务。
        2.  加入集群报错。
            解决办法: 同上,并且在不同节点上互相join
    

    相关文章

      网友评论

          本文标题:#EMQ X集群安装

          本文链接:https://www.haomeiwen.com/subject/mjwckqtx.html