von Ponlakshmi
Seit 2024 laufen Millionen von IoT-Anwendungen auf der Cloud. Mehr als 50% der Bereitstellungen Bereitstellung von Cloud-basierten Bereitstellungen, die eine große Konnektivität und Skalierbarkeit gewährleisten. MQTT Broker ist nicht die einzige Komponente einer IoT-Deployment. Wir haben viele weitere Komponenten wie Queues, Datenspeicherung, Datenaggregationsmaschine, AI/ML, Monitoring-Tools und mehr nach Bedarf für die Lösung. Verwalten einer solchen Mischung von Anwendungen, die miteinander sprechen, für eine effektive Datenerhebung, -verarbeitung und Visualisierung braucht eine bessere und nahtlose Orchestrierung. Docker ist ein so großes Werkzeug, das verfügbar ist KOSTENLOS und Open Source.
Die Kernkomponente der IoT-Deployment ist dieMQT Server. Es gibt zwei Möglichkeiten, dasselbe zu verwenden.
Für beide diese Möglichkeiten, die Erstellung des Dockers zu betreiben ist viel ähnlich, außer für ein paar Konfigurationen für die Datenspeicherung oder Verbindung zur Backend-Anwendung.
Dieser Abschnitt hilft Ihnen, eine Docker-MQTT-Server-Umgebung mit einem Datenspeicher auf einer relationalen Datenbank einzurichten. Wir haben einen ubuntu-basierten Einsatz als Beispiel genommen, um dieMQTT Broker. Dies kann jedoch mit auch das andere Betriebssystem.
Wir empfehlenMySQLauf einer physischen Maschine ausgeführt werden, als ein Abschnitt für die Datenbeharrlichkeit Zweck. Folgen Sie den folgenden Anweisungen, um die MySQL einzurichten. Sie müssen zuerst den MySQL Server installieren.
$ sudo apt-get update
$ sudo apt-get install -y mysql-server-5.7
Ändern Sie die MySQL Konfiguration. Standardmäßig läuft das mysql bei 127.0.0.1 und erlaubt nur die lokale Anwendung zu verbinden. Sie können es als 0.0.0.0 für die Anwendung auf Abschnitten und anderen Maschinen zu ändern, um auf die MySQL.
$ gedit /etc/mysql/mysql.conf.d/mysqld.cnf
bindAdresse = 0.0.0.0
Starten Sie die MySQL für die Änderungen in Kraft.
$ sudo service mysql neustart
Datenzugriff:Der root-Benutzer von MySQL hat Zugriff nur die lokale Maschine zum Lesen und Schreiben Daten in die Datenbanken. Wir müssen dem Root-Benutzer erlauben, Daten aus dem Abschnitt zuzugreifen. Verbinden Sie mit der MySQL-Konsole vom Localhost und führen Sie dann die folgenden Abfragen aus.
$ mysql -u root -pPasswort eingeben: <provide your passwort here>
Mysql>ALLGEMEINE PRIVILEGE AN *.* TO ‚root’@’%‘ IDENTIFIED BY „root „
Mit GRANT-OPTION;
Mysql>FLUSH PRIVILEGEN
Ihr MySQL Server ist alle eingestellt, um von jedem Abschnitt zu verbinden, der auf Ihrem Ubuntu-Server läuft.
Docker muss in Ihrem ubuntu installiert werden, um das Dockerbild derMQTT Brokerund führen Sie auch den doockerisierten MQTT Broker. Um den Docker zu installieren, führen Sie den folgenden Befehl aus.
$ apt-get install docker. io
Kostenloser Versand Versand Brokerfür Ubuntu und extrahieren Sie es aus Ihrem /home/ubuntu Ordner. Wenn Sie das Archiv aus einem anderen Ordner extrahieren, stellen Sie sicher, dass Sie den richtigen Referenzordner verwenden
ubuntu@
Ändern der Konfiguration derMQT Broker für MySQL Verbindungen
$ cd /home/ubuntu/Bevywise/CrystalMQ
$ gedit conf/datastore.conf
DB_SERVER = MYSQL
DBHOST=<mysql host ip>
MYSQL_USER= <your mysql user>
MYSQL_PASSWORD = <mysql db Passwort>
Erstellen Sie die Docking-Datei
$ gedit DockerfileFROM
RUN apt-get update && apt-get install -y \
Es handelt sich um
libsqlite3-0 \
Wir haben es geschafft
Entpacken
RUN rm -rf /var/lib/apt/lists/*
ADD ./CrystalMQ /CrystalMQ
RUN chmod +x /CrystalMQ/bin/runbroker.sh
RUN chmod +x /CrystalMQ/bin/install_mysql_connector.sh
WORKDIR /CrystalMQ/bin
RUN ./install_mysql_connector.sh
EXPOSITION 1883 8080 8883 10443 8081
CMD [./runbroker.sh]
Erstellen Sie das Docking-Bild
# docker build -t mqtroute .
~ Andock Bilder ~
wurzeln ♪ DockbilderREPOSITION TAG IMAGE-ID CREAAL VIRTUAL SIZE
mqtt neueste 45f7ee9a1ec7 Vor 7 Sekunden 81,15 MB
ubuntu neueste 7feff7652c69 Vor 4 Wochen 81.15 MB
Starten Sie mit dem Docking Befehl. Der folgende Befehl wird den MQTT Broker als Daemon-Prozess ausführen. Wenn Sie MQTT Broker in einem sicheren Modus ausführen möchten, das DokumentBereitstellung eines sicheren mqt-Serverswird Ihnen helfen, eine sichere Instanz zu erstellen und dann mit den Docker.
$ docker run -d --name "enter-container-name" --restart=always -p "8080:8080" "enter-docker-image-name"
Hinweis: Wenn Sie einen anderen Port anstelle von 8080 verwendet haben, ersetzen Sie einfach die Portnummer im obigen Befehl.
Unten ist ein herunterladbarer Docker Bilddatei unseres MQTT Broker, die alle notwendigen Ressourcen liefert, Sie können Docker einfach durch einen einfachen Prozess einrichten und ausführen.
Anmerkung:Der herunterladbare Docker Image-Setup unterstützt nur die SQLite Datenbank und die Daten werden nicht gespeichert; Sie können nur die Echtzeitdaten anzeigen.
Nach dem Herunterladen, führen Sie den folgenden Befehl, um die Datei zu dekomprimieren und sie für die Extraktion vorzubereiten:
bzip2 -d route.tar.bz2
Führen Sie dann den folgenden Befehl aus, um die erforderlichen Ressourcen in das Docker-System zu laden.
Dock-Last -i "file.tar"
Als nächstes können Sie mit dem folgenden Befehl Docker ausführen:
$ docker run -d --name "enter-container-name" --restart=always -p "8080:8080" "enter-docker-image-name"
Hinweis: Wenn Sie einen anderen Port anstelle von 8080 verwendet haben, ersetzen Sie einfach die Portnummer im obigen Befehl.
MQT Broker unterstützt standardmäßig eine Reihe von Datenbankspeichern wie MySQL, MSSQL, PYSQL, SQLITE, Elastisch Suche. Jeder dieser IoT-Datenspeicher kann in der Datenspeicherkonfigurationsdatei selbst aktiviert werden. In Zusätzlich zu dieser Speicherung können wir zusätzliche Speicheranforderungen mit derPython Broker ist eine AnmerkungenDaten in das vor der Speicherung benötigte Format umwandeln. Diese benutzerdefinierte Erweiterungen kann auch verwendet werden, um diese Daten mit den Warteschlangen oder Unternehmensanwendungen zu verbinden.
Die Datenspeicherung oder Warteschlange oder jede andere Anwendung, die Daten an den MQTT Broker empfängt oder zurücksendet, sollte aus dem Docking-Bild platziert werden. Wenn Ihre andere Komponente eine Warteschlange oder Anwendung ist, die keine Daten speichert, Sie können das auch auf einem Docker laufen. Wenn Sie mit einer Datenbank oder einer Big Data Engine verbunden sind, dann muss es auf einem physischen oder virtuellen Server mit persistentem Speicher ausgeführt werden. Es wird empfohlen, den Speicher als Service wie Amazon RDS für eine bessere und sichere Speicherung von Daten.
Lösungenanbieter IoT-Plattformist ein Multitensid und basiert auf der Mikro-Service-basierten Architektur. Jede Komponente des Rahmens kann ausgeführt werden auf einem Docking-Container und auf den physischen oder VM-Servern auf der Cloud oder auf der Prämisse eingesetzt. die Andocker Komponenten der MQTT Server kann auf den Kuberneten eingesetzt werden. Der Einsatz in diesem Fall wird durch Wir. Die komplette Überwachung der Komponenten einschließlich der Funktions- und Anwendungsüberwachung wird eingesetzt und kann von Ihrem überwacht werden Dev-ops Team über die Web-UI-Konsole.
Containerhilft, die Anwendung unabhängig von der Betriebssystem des physischen oder VM-ServersMQTT Servereine vorgegebene virtuelle Umgebung, die höhere Konsistenz. Da die Docerized VMs weniger Speicher verbraucht, wird die Gesamtanwendunghoch skalierbar und tragbar. Die Kombination von Docker und Kubernetes wird die Einsatzbereich über mehrere VMs halten die Kontrolle über eine einzelne Orchestrierung für einfaches Management.
Muss andere Beiträge lesen