EMQX 启动不能正常工作

环境信息

  • EMQX 版本:5.0.0
  • 操作系统及版本:Centos 7.6
  • docker-compose 版本为 1.26.2

问题描述

利用docker-compose 启动之后报错 如下
2022-09-22T17:38:10.118122+08:00 [error] failed_to_check_schema: emqx_conf_schema
2022-09-22T17:38:10.124270+08:00 [error] #{kind => validation_error,path => “cluster.static.seeds.1”,reason => #{expected_type => <<“atom()”>>},value => 101}
ERROR: call_hocon_failed: -v -t 2022.09.22.17.38.09 -s emqx_conf_schema -c /opt/emqx/etc/emqx.conf -d /opt/emqx/data/configs generate
2022-09-22T17:38:13.456714+08:00 [error] failed_to_check_schema: emqx_conf_schema
2022-09-22T17:38:13.462889+08:00 [error] #{kind => validation_error,path => “cluster.static.seeds.1”,reason => #{expected_type => <<“atom()”>>},value => 101}

看下你的配置呢?看起来是这个配置不对的

cluster.static.seeds.1

version: ‘3’
services:
emqx2:
image: emqx/emqx:5.0.0
restart: always
hostname: emqx2
privileged: true # 解决权限问题
volumes:
#- /projects/emqx/data:/opt/emqx/data/
#- /projects/emqx/etc:/opt/emqx/etc/
- /mnt/d/emqx/log:/opt/emqx/log/
ports:
- 1883:1883
- 8883:8883
- 8083:8083
- 8084:8084
- 18083:18083
environment:
- TZ=Asia/Shanghai
- EMQX_NAME=emqx2
- EMQX_HOST=172.24.83.153
- EMQX_CLUSTER__DISCOVERY=static
- EMQX_CLUSTER__STATIC__SEEDS=emqx1@172.24.83.143,emqx2@172.24.83.153,emqx3@172.24.83.183,emqx4@172.24.83.189,emqx5@172.24.83.198,emqx6@172.24.83.219
- EMQX_MQTT__MAX_PACKET_SIZE=20MB
- EMQX_ALLOW_ANONYMOUS=false
- EMQX_ACL_NOMATCH=deny
- EMQX_NODE_PROCESS__LIMIT=2097152
- EMQX_NODE_MAX__PORTS=1048576
- EMQX_LOADED_PLUGINS=“emqx_management,emqx_recon,emqx_retainer,emqx_dashboard,emqx_auth_mnesia,emqx_auth_http”
- EMQX_LISTENER_TCP_EXTERNAL_ACCEPTORS=64
- EMQX_LISTENER_TCP_EXTERNAL_MAX__CONNECTIONS=1024000
- EMQX_ZONE__EXTERNAL__MAX_INFLIGHT=256
- EMQX_ZONE__EXTERNAL__RETRY_INTERVAL=30s
- EMQX_ZONE__EXTERNAL__MAX_MQUEUE_LEN=0
healthcheck:
test: [“CMD”, “/opt/emqx/bin/emqx_ctl”, “status”]
interval: 5s
timeout: 25s
retries: 5

你好,EMQX 对于这个环境变量的格式做了更改,现应该是

EMQX_CLUSTER__STATIC__SEEDS="[\"emqx1@172.24.83.143\",\"emqx2@172.24.83.153\",\"emqx3@172.24.83.183\"]"

由于我们的配置文档有些地方还没更新完全,配置格式相关的可以参考这里 https://www.emqx.io/docs/en/v5.0/admin/cfg.html#layered

好的谢谢您!

您好,咋们这个有没有什么微信群之类的,我总不能遇到一个疑惑就发帖吧

假设有 虚拟机A和B, 虚拟机A和B想通,我要利用docker 部署 EMQX 集群,docker-compose.yaml文件 我用的是官网的例子,在虚拟机A中部署了,在虚拟机B中也部署了,但是并没有在集群里。 您这边有详细比官网更详细的 docker部署 EMQX集群的 yaml文件我可以参考下吗?

社区有很多,都可以在这里 全球领先的物联网开源社区 | EMQ 找到,包括 微信群组。

docker-compose.yaml 中的集群配置方式可以参考 Docker Hub 这里的 cluster 章节,不过全文是基于 4.x 的,所以配置项相关的不要看就行了

我在部署静态集群的时候,抛出了以下错误
Rolling-Back (Container should have been running but is in stopped state. Check logs for more information.: Allocation failed: Error reserving resources: [0.0.0.0:18084:18083/tcp, 0.0.0.0:1884:1883/tcp, 4370/tcp, 5369/tcp, 8083/tcp, 8084/tcp, 8883/tcp, 11883/tcp portReservation, instanceReservation: 1])