mqtt服务器集群搭建,开源mqtt服务器搭建

一、安装预置条件EMQ X 可以跨平台运行在 Linux、FreeBSD、MacOS 或 Windows 服务器甚至是树莓派上。服务器最低配置为 512MB 内

92e1c55b8e904f0495e42e5602a3665d~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717748300&x-signature=BVvfXjewFL2clyCpsiLighz%2FncU%3D

一、安装预置条件

EMQ X 跨平台运行于Linux、FreeBSD、MacOS、Windows Server,甚至Raspberry Pi。

服务器最低配置为512MB 内存和至少1GB 硬盘空间。

二、二进制包安装

EMQ 官方网站提供流行Linux 发行版、MacOS、Windows 操作系统和Docker 镜像的二进制包下载。请查看官网下载页面了解当前支持的操作系统和平台。

三、源码编译安装

对于某些官网没有提供二进制包的操作系统和平台,例如Linux ARM、FreeBSB,可以使用源码编译安装。

EMQ

EMQ X 3.0+ 依赖于Erlang R21+ 版本。

EMQ X Enterprise 暂不提供源码编译和安装。如果您有任何特殊的操作需求,请联系我们:contact@emqx.io。

四、首次安装 EMQ X

在安装EMQ X 之前,请确保满足安装先决条件。

版本选择

EMQ X 支持多种操作系统。请选择合适的版本进行下载。

1、在 Linux 下安装

对于Linux 发行版,EMQ X 提供两种安装方法。一种是基于各种Linux发布的安装包。使用安装包安装EMQ X 后,您可以使用系统管理工具轻松启动和停止EMQ X 服务。第二种是使用zip 压缩打包的通用包。要安装zip 包,只需解压缩zip 文件即可。您可以使用zip 包在同一系统上安装多个EMQ X 集。在开发/实验室环境中,使用zip 包安装EMQ X 非常实用。

CentOS/RHEL

目前EMQ X 支持CentOS/RHEL 6 和7,两个版本的安装过程相同。以下安装过程以CentOS 7为例。

解压缩

使用 zip 包安装

zip 文件。

解压emqx-centos7-v3.0.zip。在控制台调试模式下启动emqx,检查EMQ X 是否能够成功启动。

cd emqx ./bin/emqx console 如果安装成功,您将在控制台看到以下输出:

在节点’emqx@127.0.0.1′ 上启动emqx emqx ctl 启动.[ok]emqx hook 启动.[ok]emqx router 启动.[ok]emqx pubsub 启动.[ok]]emqx 统计正在启动.[ok]emqx 指标正在启动.[ok]emqx 池化器正在启动.[ok]emqx 跟踪正在启动.[ok]emqx 客户端管理器正在启动.[ok]emqx 会话管理器正在启动.[ok]emqx 会话主管正在启动.[ok]emqx wsclient 主管正在启动.[ok]emqx 代理正在启动.[ok]emqx 警报正在启动。[ok]emqx mod Supervisor 正在启动.[ok]emqx 网桥Supervisor 正在启动.[ok]emqx 访问控制正在启动.[ok]emqx 系统监视器正在启动.[ok]dashboard:http 正在监听0.0 .0.0:18083 有两个受体。 mqtt:tcp 用8 个接受器监听0.0.0.0:1883。 mqtt:ssl 用4 个接受器监听0.0.0.0:8883。使用mqtt:ws 收听。 3608083 有4 个受体。 Erlang MQTT Broker 3.0 正在运行CTRL+C 关闭控制塔。启动守护进程模式:

在CentOS 上使用./bin/emqx start

使用 rpm 包安装

rpm 工具安装EMQ X。

rpm -ivh emqx-centos7-v3.0-beta.4.rpm 安装完成后,EMQ X 配置、日志和数据文件位于以下目录中: 系统配置文件:/etc/emqx/emqx.conf 插件配置文件:/etc/emqx/plugins/*.conf 日志文件:/var/log/emqx 数据文件:/var/lib/emqx/

通过命令行启动和停止EMQ X。

systemctl start|stop|restart emqx.service

Ubuntu

EMQ X 目前支持Ubuntu 12.04、14.04、16.04、18.04,各版本的安装流程一致。以下安装过程以Ubuntu 18.04为例。

解压缩

使用 zip 包安装

zip 文件。

解压emqx-ubuntu18.04-v3.0.zip。在控制台调试模式下启动emqx,检查EMQ X 是否能够成功启动。

cd emqx ./bin/emqx console 如果安装成功,您将在控制台看到以下输出:

在节点’emqx@127.0.0.1′ 上启动emqx emqx ctl 启动.[ok]emqx hook 启动.[ok]emqx router 启动.[ok]emqx pubsub 启动.[ok]]emqx 统计正在启动.[ok]emqx 指标正在启动.[ok]emqx 池化器正在启动.[ok]emqx 跟踪正在启动.[ok]emqx 客户端管理器正在启动.[ok]emqx 会话管理器正在启动.[ok]emqx 会话主管正在启动.[ok]emqx wsclient 主管正在启动.[ok]emqx 代理正在启动.[ok]emqx 警报正在启动。[ok]emqx mod Supervisor 正在启动.[ok]emqx 网桥Supervisor 正在启动.[ok]emqx 访问控制正在启动.[ok]emqx 系统监视器正在启动.[ok]dashboard:http 正在监听0.0 .0.0:18083 有两个受体。 mqtt:tcp 用8 个接受器监听0.0.0.0:1883。 mqtt:ssl 用4 个接受器监听0.0.0.0:8883。使用mqtt:ws 收听。 3608083 有4 个受体。 Erlang MQTT Broker 3.0 正在运行CTRL+C 关闭控制塔。启动守护进程模式:

./bin/emqx start

使用 deb 包安装

sudo dpkg -i emqx-ubuntu18.04-v3.0_amd64.deb 安装后,EMQ X 配置、日志和数据文件位于以下目录中: 系统配置文件:/etc/emqx/emqx.conf 插件配置文件:/etc/emqx/plugins/*.conf 日志文件:/var/log/emqx 数据文件:/var/lib/emqx/

通过命令行启动和停止EMQ X。

service emqx start|stop|restart

Debian

EMQ X 目前支持Debian 7、8、9,各版本的安装流程一致。以下安装过程以Debian 9为例。

解压缩

使用 zip 包安装

zip 文件。

解压emqx-debian9-v3.0.zip。在控制台调试模式下启动emqx,检查EMQ X 是否能够成功启动。

cd emqx ./bin/emqx console 如果安装成功,您将在控制台看到以下输出:

在节点’emqx@127.0.0.1′ 上启动emqx emqx ctl 启动.[ok]emqx hook 启动.[ok]emqx router 启动.[ok]emqx pubsub 启动.[ok]]emqx 统计正在启动.[ok]emqx 指标正在启动.[ok]emqx 池化器正在启动.[ok]emqx 跟踪正在启动.[ok]emqx 客户端管理器正在启动.[ok]emqx 会话管理器正在启动.[ok]emqx 会话主管正在启动.[ok]emqx wsclient 主管正在启动.[ok]emqx 代理正在启动.[ok]emqx 警报正在启动。[ok]emqx mod Supervisor 正在启动.[ok]emqx 网桥Supervisor 正在启动.[ok]emqx 访问控制正在启动.[ok]emqx 系统监视器正在启动.[ok]dashboard:http 正在监听0.0 .0.0:18083 有两个受体。 mqtt:tcp 用8 个接受器监听0.0.0.0:1883。 mqtt:ssl 用4 个接受器监听0.0.0.0:8883。使用mqtt:ws 收听。 3608083 有4 个受体。 Erlang MQTT Broker 3.0 正在运行CTRL+C 关闭控制塔。启动守护进程模式:

./bin/emqx start

使用 deb 包安装

sudo dpkg -i emqx-debian9-v3.0_amd64.deb 安装后,EMQ X 配置、日志和数据文件位于以下目录中: 系统配置文件:/etc/emqx/emqx.conf 插件配置文件:/etc/emqx/plugins/*.conf 日志文件:/var/log/emqx 数据文件:/var/lib/emqx/

通过命令行启动和停止EMQ X。

service emqx start|stop|restart

2、在 MacOS 下安装

目前,EMQ X 在MacOS 上提供zip 包安装方式。解压缩zip 文件。

解压emqx-macos-v3.0.zip。在控制台调试模式下启动emqx,检查EMQ X 是否能够成功启动。

cd emqx ./bin/emqx console 如果安装成功,您将在控制台看到以下输出:

在节点’emqx@127.0.0.1′ 上启动emqx emqx ctl 启动.[ok]emqx hook 启动.[ok]emqx router 启动.[ok]emqx pubsub 启动.[ok]]emqx 统计正在启动.[ok]emqx 指标正在启动.[ok]emqx 池化器正在启动.[ok]emqx 跟踪正在启动.[ok]emqx 客户端管理器正在启动.[ok]emqx 会话管理器正在启动.[ok]emqx 会话主管正在启动.[ok]emqx wsclient 主管正在启动.[ok]emqx 代理正在启动.[ok]emqx 警报正在启动。[ok]emqx mod Supervisor 正在启动.[ok]emqx 网桥Supervisor 正在启动.[ok]emqx 访问控制正在启动.[ok]emqx 系统监视器正在启动.[ok]dashboard:http 正在监听0.0 .0.0:18083 有两个受体。 mqtt:tcp 用8 个接受器监听0.0.0.0:1883。 mqtt:ssl 用4 个接受器监听0.0.0.0:8883。使用mqtt:ws 收听。 3608083 有4 个受体。 Erlang MQTT Broker 3.0 正在运行CTRL+C 关闭控制塔。启动守护进程模式:

./bin/emqx start

3、在 Microsoft Windows 下安装

目前EMQ X 在Windows 上提供zip 包安装。下载并解压程序包后,打开Windows命令行窗口并导航到程序目录。

控制台模式启动:

bin\emqx console

4、在 Docker 中安装

解压emqx docker 镜像包。

解压emqx-docker-v3.0.zip 并加载镜像。

docker load emqx-docker-v3.0 启动容器。

docker run -tid –name emq30 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 停止emqx-docker-v3.0 容器。

docker stop emq30 启动容器。

运行docker start emq30 进入Docker 控制台。

docker exec -it emq30 /bin/sh

5、使用源代码安装

EMQ

本文中的以下步骤适用于Linux 环境。

注: EMQ b win30 https://github.com/emqx/emqx-rel.gitcd emqx-relx makecd _rel/emqx ./bin/emqx console 如果编译成功,包发布目录为:

_rel/emqx 从控制台启动程序。

复制代码cd _rel/emqx ./bin/emqx console

五、首次运行 EMQ X

安装完成后,您可以直接运行EMQ X 来获得最初始的体验。除控制台外,您还可以通过浏览器访问http://127.0.0.1:18083 使用EMQ X Web 管理控制界面。默认登录名是admin,密码是public。

通过浏览器访问http://127.0.0.1:18083 将进入EMQ X 登录界面。

c1d6d66087ec4f1a9a6e2ca85a0b4abc~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717748300&x-signature=lw3bApt0GF4ZMujmPyRhtCZDuKw%3D

输入用户名和密码后,您将可以使用EMQ X Dashboard 的各种功能。当您首次登录时,您将看到EMQ X 控制台信息概览。该页面显示系统信息、节点信息、运行统计信息以及一些统计指标。

d4523288f353425387d24544a1f3397b~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717748300&x-signature=omOoa0XAJuf1FGcmnEq9%2F11RpYs%3D

您还可以在EMQ X 中创建一些简单的配置,以适应您的操作环境和需求。

对 EMQ X 进行简单的配置

EMQ X 的所有配置都可以通过修改配置文件来完成。配置文件位置:

etc/emqx.conf : EMQ X 服务器参数设置etc/plugins/*.conf : EMQ X 插件配置文件。每个插件都有一个单独的配置文件。 Web 仪表板中一些常见功能的设置也发生了更改。

更改 Dashboard 界面语言

在Web 界面中选择管理> 设置菜单。您可以通过单击“应用”来更改仪表板上使用的语言。目前EMQ X 支持中文和英文。

ba8ccf9046e64e82b00f7517ac570383~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717748300&x-signature=jUqvwD6u3C1qzLUDgULymlizolY%3D

修改 Dashboard 默认登录名和密码

Dashboard 插件为EMQ 提供管理和控制功能安装后,您可以通过编辑配置文件来更改Dashboard 的默认用户名和密码。设置文件:

修改etc/plugins/emqx_dashboard.conf中以下两行,将等号右边的值修改为您想要的值。

Dashboard.default_user.login=admindashboard.default_user.password=public 通过公共或网络管理仪表板用户。管理员- 用户菜单允许您更改用户密码以及添加/删除用户。管理员用户只能更改密码而不能删除密码。

053742cc05994c1586ab83fd92230fd1~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717748300&x-signature=ug1lvzBV0DZYFbA%2FmBroveCsnJk%3D

配置端口

安装后,EMQ X 默认使用以下端口:

1883: MQTT 协议端口8883: MQTT/SSL 端口8083: MQTT/WebSocket 端口8080: HTTP API 端口18083: 仪表板管理控制台端口您可以根据安装的需要更改上述端口。要更改协议端口,请编辑EMQ

Listener.tcp.external=0.0.0.0:1883listener.ssl.external=8883listener.ws.external=8083 如需更改HTTP API 端口,请编辑emqx_management 插件的配置文件’etc/plugins/emqx_management.conf’。找到以下行并按“您需要更改端口号”。

Management.listener.http=8080 如需更改仪表板管理控制台端口,请编辑emqx_dashboard 插件的配置文件“etc/plugins/emqx_dashboard.conf”,找到以下行并根据需要更改端口号:请更改。

Dashboard.listener.http=18083 您可以在Web 仪表板的管理> 侦听器菜单中查看当前使用的侦听器端口和属性。

053742cc05994c1586ab83fd92230fd1~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717748300&x-signature=ug1lvzBV0DZYFbA%2FmBroveCsnJk%3D

启动 / 停止插件

插件是EMQ X 的重要组成部分。 EMQ X 扩展主要通过插件来实现。 Dashbard 也是一个插件实现。您可以使用软件附带的命令行工具emqx_ctl 启动和停止各个插件。

启动插件:

bin/emqx_ctl 插件加载plugin_name 并停止插件。

bin/emqx_ctl plugins unload plugin_name 您还可以在仪表板的管理- 插件菜单中启动和停止插件以及对插件进行简单的配置。

b6eac5a874a7473ea2514fabf63114a2~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717748300&x-signature=M2csaqlndk%2F3BGtyMljmUL9Yg6E%3D

EMQ 仪表板

修改 Erlang 虚拟机启动参数

EMQ X 运行在Erlang 虚拟机上。 “etc/emqx.conf”中有两个限制,限制了虚拟机允许的最大连接数。这两个参数可以在运行EMQ X 之前更改,以适应您的连接要求。

node.process_limit : Erlang 虚拟机EMQ X 允许的最大进程数。一个连接消耗两个Erlang 进程。 node.max_ports : Erlang 虚拟机、EMQ 允许的最大端口数。端口的概念是TCP端口,但可以宽松地理解为文件句柄。 *这两个参数可以设置如下:

node.process_limit:大于允许的最大连接数* 2node.max_ports:大于允许的最大连接数

594d1fa50e5148f2aafee4576abc4e20~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717748300&x-signature=%2BIj%2Fc%2FQfiuj%2BXAVXEP2IKxnOt5I%3D

原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/82647.html

(0)
小条's avatar小条
上一篇 2024年5月31日 下午4:18
下一篇 2024年5月31日 下午4:18

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注