Springe zum Inhalt →

MQTT-Server mosquitto auf Raspberry Smarthome-Server startet nicht

Problem

Nach einigen Tagen Abwesenheit wurde ich leider mit einigen Problemen an meinem Raspberry- Smarthomeserver konfrontiert.

Unter anderem war der Mosquitto MQTT- Server, der Meldungen der verschiedenen iot- Devices entgegennehmen und verarbeiten soll, nicht verfügbar.

Analyse

Nach Analyse der Prozessübersicht mit

ps -A | grep mosq

wurde leider keine Ausgabe dargestellt, d.h. der prozess war offenschtlich nicht gestartet.

Das manuelle Anstarten mit

sudo mosquitto

führte dann allerdings zum Erfolg. Der MQTT- Server lief und nahm auch alle Meldungen entgegen bzw. verarbeitete diese. Nur der Dienst zum Mosquitto verursachte Probleme.
Nach Beenden des manuell gestarteten Prozesses erfolgte noch ein Versuch mit

sudo systemctl start mosquitto.service

den Dienst dann zu starten. Die anschließende Abfrage mit

sudo systemctl status mosquitto.service

lieferte zunächst eine vielversprechende Antwort, dass der Dienst erfolgreich gestartet wurde.

Leider wohl doch nicht ganz erfolgreich, in der Prozessübersicht immer noch kein Eintrag für mosquitto, auch die MQTT- Meldungsverarbeitung funktionierte nicht.

Ursache

Nach einiger Fehlersuche wurde dann das Problem gelöst. Ursache war eine offensichtlich korrupte mosquitto.db, die vom mosquitto-Dienst für die Zwischenspeicherung von Meldungen verwendet wird.

Lösung

Dieses Problem lässt sich einfach beheben, in dem im Verzeichnis /var/lib/mosquitto die entsprechende Datei gelöscht wird mittels:

sudo rm mosquitto.db

Wenn anschließend dann mit

sudo systemctl restart mosquitto.service

erneut gestartet wird, funktioniert mosquitto einwandfrei. Auch nach einem reboot wird der Dienst wieder automatisch angestartet.

[Gesamt:0    Durchschnitt: 0/5]

Veröffentlicht in Linux & Unix Microcontrollers

Kommentaren

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

%d Bloggern gefällt das: