OASCloud-EMQ测试服务器
History | |||||
NO. | Version | Contents | Time | Persion | Remarks |
1 | V1.0 | Create documents | 2019-08-14 | Qinfang Ye | |
OASCloud-EMQ测试服务器1
1、 EMQ简介2
2、 下载地址3
3、 注意事项:4
4、 搭建步骤4
#安装EMQ5
(1) 进入目录解压安装包5
#启动 EMQ X5
(1)进入目录启动文件5
#EMQ问题解决5
#访问EMQ5
#集群搭建6
- EMQ简介
由于项目需要,原先搭建的MQ服务器kafka和rabbitmq更换为EMQ X。
EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。Erlang/OTP 是出色的软实时(Soft-Realtime)、低延时(Low-Latency)、分布式(Distributed) 的语言平台。MQTT 是轻量的(Lightweight)、发布订阅模式(PubSub) 的物联网消息协议。
EMQ X 面向海量的 移动/物联网/车载 等终端接入,并实现在海量物理网设备间快速低延时的消息路由:
1、稳定承载大规模的 MQTT 客户端连接,单服务器节点支持百万连接。
2、分布式节点集群,快速低延时的消息路由,单集群支持千万规模的路由。
3、消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
4、完整物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、私有 TCP/UDP 协议支持。
文档链接:
https://blog.csdn.net/qq_19734597/article/details/92085388 - 下载地址
https://www.emqx.io/downloads/broker/?osType=Linux - 注意事项:
如果通过官网的https://www.emqx.io/downloads/enterprise/下载的版本是错误的,会报错
因此上述下载地址改为:
https://www.emqx.io/downloads/broker/?osType=Linux
搭建步骤,在官方文档中介绍的已经非常清楚了,在这里我放上官方文档地址
https://docs.emqx.io/docs/broker/v3/cn/
只需要按照文档中的来就可以 - 搭建步骤
#安装EMQ
- 进入目录解压安装包
$ cd /usr/local
$ unzip emqx-ee-centos7-v3.1.0.zip
#启动 EMQ X
(1)进入目录启动文件
$ cd /usr/local/emqx
$ ./bin/emqx start
emqx v3.2.2 is started successfully!
$ ./bin/emqx_ctl status
Node 'emqx@127.0.0.1' not responding to pings.
#EMQ问题解决
(1)Node 'emqx@127.0.0.1' not responding to pings.
原先下载的是官网版本,现在按照注意事项进行下载安装即可
# ./bin/emqx_ctl status
Node 'emqx@127.0.0.1' is started
emqx v3.1.0 is running
(2)EMQ无法访问
关闭防火墙即可
firewall-cmd --state
systemctl stop firewalld.service
systemctl disable firewalld.service
#访问EMQ
访问 http://192.168.3.216:18083,默认用户名: admin,密码:public,如图所示:
至此,一个MQTT服务已经搭建完成。
#集群搭建
- 启用端口
1883 MQTT 协议端口
8883 MQTT/SSL 端口
8083 MQTT/WebSocket 端口
8080 HTTP API 端口
18083 Dashboard 管理控制台端口
备注:这些端口开放的话,我选择关闭防火墙,也可以通过如下链接进行指定开放:
https://blog.csdn.net/qq_19734597/article/details/90233493 - 修改配置文件
只有加入集群才需要修改配置文件,单台不需要,目前公司使用的是单台服务器,该部分只作为了解:
vim ./etc/emqx.conf
修改以下内容
node.name = emqx@192.168.3.204
另一台机器修改为
node.name = emqx@192.168.3.211
修改完成之后,启动两台节点后,192.168.3.204上执行
./bin/emqx_ctl cluster join emqx@192.168.3.211
或,192.168.3.211上执行
$ ./bin/emqx_ctl cluster join emqx@192.168.3.204
Join the cluster successfully.
Cluster status: [{running_nodes,['emqx@192.168.3.204','emqx@192.168.3.211']}]
任意节点上查询集群状态:
$ ./bin/emqx_ctl cluster status
Cluster status: [{running_nodes,['emqx@192.168.3.204','emqx@192.168.3.211']}]
节点退出集群,有两种方式:
1、leave: 本节点退出集群
2、force-leave: 从集群删除其他节点
emqx@192.168.3.204 主动退出集群:
$ ./bin/emqx_ctl cluster leave
或 emqx@192.168.3.204 节点上,从集群删除emqx@192.168.3.211 节点:
$ ./bin/emqx_ctl cluster force-leave emqx@192.168.3.211