fix(emqx): mqtt_path→websocket.mqtt_path (v0.1.4, локально OK); HISTORY: на платформе boot висит — задокументировано
This commit is contained in:
@@ -672,3 +672,31 @@ store сам создаст таблицу iot_devices.
|
|||||||
- EMQX-контейнер пока работает на старом сломанном образе — после redeploy
|
- EMQX-контейнер пока работает на старом сломанном образе — после redeploy
|
||||||
проверить: под Ready 1/1, лог без `ps: command not found`, wss-подключение.
|
проверить: под Ready 1/1, лог без `ps: command not found`, wss-подключение.
|
||||||
- Образы: iot-emqx v0.1.2 (latest), iot-service v0.1.0 (latest) — оба на Docker Hub.
|
- Образы: iot-emqx v0.1.2 (latest), iot-service v0.1.0 (latest) — оба на Docker Hub.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 21. EMQX: mqtt_path исправлен, но на платформе boot висит (16.08)
|
||||||
|
|
||||||
|
**Ошибка 3 (найдена локальным запуском):** `unknown_fields path=listeners.ws.default`
|
||||||
|
— поле `mqtt_path` в EMQX 5.5.1 живёт в `listeners.ws.default.websocket.mqtt_path`.
|
||||||
|
Исправлено в emqx.conf → v0.1.3/0.1.4.
|
||||||
|
|
||||||
|
**Локальная проверка v0.1.4 (docker run на станции):** ПРОЙДЕНА — boot ~50с,
|
||||||
|
`emqx ctl listeners` OK (tcp:1883 running), wscat с subprotocol `mqtt` подключается
|
||||||
|
(curl без subprotocol получает 400 от Cowboy — так и должно: fail_if_no_subprotocol).
|
||||||
|
|
||||||
|
**На платформе (наш кластер, ns 2fdd9658-…):** v0.1.4 поставлен kubectl set image,
|
||||||
|
под Running 1/1, НО:
|
||||||
|
- нода НЕ поднимается 5+ мин: beam запущен (config сгенерирован в 09:43:36),
|
||||||
|
CPU всего ~5с (почти idle), /var/log/emqx ПУСТ, `emqx ctl status/listeners`
|
||||||
|
возвращают пустоту (нет даже ошибки);
|
||||||
|
- множество зомби `inet_gethost <defunct>` (DNS-хелперы Erlang);
|
||||||
|
- DNS в поде работает (getent OK), resolv.conf: search …svc.cluster.local, ndots:5;
|
||||||
|
- память 257/512Mi, рестартов 0;
|
||||||
|
- снаружи — 502 Bad Gateway (wscat: Unexpected server response: 502).
|
||||||
|
- PID1 = `su - emqx -c DEBUG=0 "/usr/bin/emqx" foreground` (поведение deb-пакета),
|
||||||
|
HOME=/var/lib/emqx, node name emqx@127.0.0.1, -start_epmd false, -proto_dist ekka.
|
||||||
|
|
||||||
|
**Статус:** локально образ рабочий, на платформе boot висит. По договорённости
|
||||||
|
с пользователем — вопрос к Sonnet (диагностика + правильный способ запуска EMQX
|
||||||
|
в контейнере: без su, логи в stdout, env-конфигурация).
|
||||||
|
|||||||
+4
-1
@@ -20,7 +20,10 @@ RUN apt-get update \
|
|||||||
|
|
||||||
COPY emqx.conf /etc/emqx/emqx.conf
|
COPY emqx.conf /etc/emqx/emqx.conf
|
||||||
|
|
||||||
RUN mkdir -p /opt/emqx/data
|
# data_dir из emqx.conf: /opt/emqx/data. Launcher работает от пользователя
|
||||||
|
# emqx (deb-пакет создаёт его) — каталог должен принадлежать emqx.
|
||||||
|
RUN mkdir -p /opt/emqx/data \
|
||||||
|
&& chown -R emqx:emqx /opt/emqx/data
|
||||||
|
|
||||||
EXPOSE 8083
|
EXPOSE 8083
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# EMQX-контейнер для IoT (образ naeel/iot-emqx).
|
# EMQX-контейнер для IoT (образ naeel/iot-emqx).
|
||||||
|
|
||||||
VERSION ?= v0.1.2
|
VERSION ?= v0.1.4
|
||||||
IMAGE ?= naeel/iot-emqx
|
IMAGE ?= naeel/iot-emqx
|
||||||
|
|
||||||
.PHONY: docker-build docker-push
|
.PHONY: docker-build docker-push
|
||||||
|
|||||||
+3
-1
@@ -78,7 +78,9 @@ listeners.tcp.default {
|
|||||||
|
|
||||||
listeners.ws.default {
|
listeners.ws.default {
|
||||||
bind = "0.0.0.0:8083"
|
bind = "0.0.0.0:8083"
|
||||||
mqtt_path = "/mqtt"
|
websocket {
|
||||||
|
mqtt_path = "/mqtt"
|
||||||
|
}
|
||||||
max_connections = 512
|
max_connections = 512
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user