NEWS
Hilfestellung zur optimalen Konfiguration (Multihost/Redis etc)
-
Danke schon einmal für das Feedback. Bleiben für mich im Wesentlichen noch folgende Fragen:
1. Die hardware-abhängigen Programme müssen auf dem Raspberry PI bleiben.
Z.B. das Schalten von Relais über GPIO. Das mache ich in Node-Red.
Früher gingen keine 2 Node-red Adapter-Instanzen. Weisst Du, ob dies jetzt im Multihost-Modus geht?
2. Würdest Du Redis empfehlen? Wenn ja wie soll ich das installieren?
Ich sehe, dass es mehrer Redis-Images in Docker für die Diskstation gibt?
Was ist dann ggfs. besonders zu beachten? Und wie sichere ich Redis?
3. Was wären die Schritte und die richtige Reihenfolge zur Umstellung der lokalen ioBroker Installationen in eine Multihost-Umgebung?
Danke
Thomas
-
@tom57:1. Die hardware-abhängigen Programme müssen auf dem Raspberry PI bleiben.
Z.B. das Schalten von Relais über GPIO. Das mache ich in Node-Red.
Früher gingen keine 2 Node-red Adapter-Instanzen. Weisst Du, ob dies jetzt im Multihost-Modus geht? `
Hm … auf verschiedenen Hosts könnte gehen. Müsstest Du versuchen. Laut Konfig darf pro Host nur eine Instanz sein ...
@tom57:2. Würdest Du Redis empfehlen? Wenn ja wie soll ich das installieren?
Ich sehe, dass es mehrer Redis-Images in Docker für die Diskstation gibt?
Was ist dann ggfs. besonders zu beachten? Und wie sichere ich Redis? `
Kommt darauf an wie "gross" dein System ist (Anzahl Datenpunkte, Frequenz Aktualisierung). Am Ende kannst DU die CPU Last des js-controllers Prozesses ansehen um zu sehen ob Bedsrf ist.Ich nutze es und es hat Vorteile. Redis hat zwei Backup varianten … kannst ein File schreiben lassen oder er macht wie eine DB ein fortlaufendes Logfile.
https://redis.io/topics/persistence
@tom57:3. Was wären die Schritte und die richtige Reihenfolge zur Umstellung der lokalen ioBroker Installationen in eine Multihost-Umgebung? `
Recht einfach. Der eine wird ja der master.Notiere die alle Konfigs von den instanzen die zukünftig slaves werden, am besten wegsichern und neues frisches iobroker auf den slaves aufsetzen. Die mit dem Master verbinden und dann alle instanzen auf den slaves neu anlegen. vom Master aus
-
Vielen Dank für Dein Feedback.
Die gesamte CPU-Belastung aller ioBroker Prozesse im Docker auf der Diskstation ist unter 1% - der js-controller davon 0,3%.
Ich habe ca. 1000 - 1200 Datenpunkte die alle paar Sekunden bis 1-2 Minuten aktualisiert werden.
Wenn die CPU-Belastung das Kriterium für Redis ist, dann gibt es keinen Grund umzusteigen.
Wenn ich die Dokumentation richtig verstehe, dann läuft die gesamte Kommunikation zwischen Master und Slaves über die Ports 9000 und 9001.
Pollen dabei die Slaves nur den Master (Lesen / Schreiben) oder muss auch der Slave per IPV4-Adresse vom Master aus erreichbar sein? (Wegen LTE-Stick Verbindung der Ferienhaus-Instanz). Per Portweiterleitung kann ich die Ports im Master aus dem Internet öffnen, aber der Slave bekommt keine öffentliche IPV4 Adresse.
Mal sehen, ob es jemanden gibt der im Multihost-Modus 2 Mal node-red laufen hat. Ansonsten werde ich das mal testen.
-
@tom57:Früher gingen keine 2 Node-red Adapter-Instanzen. Weisst Du, ob dies jetzt im Multihost-Modus geht? `
Doch die gehen!Leider geht die Konfiguration über den Admin.0 nicht.
Du musst di node-red Instanzen der slaves über <slaveip>:1881 aufrufen.
Gruß
Rainer</slaveip>
-
Hallo Rainer,
Danke fürs Feedback. was meinst Du mit Konfiguration unter Admin?
Bedeutet dies, dass ich die zweite Instanz auf Betriebssystemebene installieren muss?
Und muss der Port mit 1881 anders der erste mit 1880 sein, auch wenn ich direkt im Slave installiere?
Grüße
Thomas
-
@tom57:Bedeutet dies, dass ich die zweite Instanz auf Betriebssystemebene installieren muss? `
Nein, nur den node-red.1 "Desktop" kannst du nicht über den Admin des Masters aufrufen sondern über die IP des SlavesGruß
Rainer
-
Hallo Rainer,
ich habe gerade mal auf einen Raspberry PI ioBroker komplett neu installiert und den Multihost am Master (Diskstation) und Slave (Raspi) eingerichtet.
Soweit so gut. Ich bekomme nur keine 2. Node-Red-Instanz installiert …. :(
Fehler:
! $ ./iobroker add node-red 1 –host rasp
! ERROR: host.DS1 error: this adapter does not allow multiple instances on one host
! ERROR: process exited with code 21Hast Du eine Idee wie ich die 2. Instanz installieren soll?
Grüße
Thomas
-
Haben beide Hosts unterschiedliche Namen?
Installation über admin!
Gruß
Rainer
-
Hast du auch auf die beiden hosts installiert, oder versehentlich beide auf den selben?

-
Nochmal zu meinem Verständnis:
Nachdem der Multihost-Modus aktiviert ist, dann geht admin nur auf dem master –> ds1:8081. rasp:8081 geht nicht mehr.
Also kann ich unter dem Master eine neue Adapter Instanz aufmachen, dabei wird nach dem Server und nach der Instanznummer gefragt.
Beim Server gebe ich den Slave ein (rasp) und erhalte folgende Fehlermeldung:
$ ./iobroker add node-red –host rasp
ERROR: host.DS1 error: this adapter does not allow multiple instances on one host
ERROR: process exited with code 21
So wie bei Dir hätte ich das gerne !!!
-
–-
Hier stand Quatsch.
-
@tom57:Nachdem der Multihost-Modus aktiviert ist, dann geht admin nur auf dem master –> ds1:8081. rasp:8081 geht nicht mehr.
Also kann ich unter dem Master eine neue Adapter Instanz aufmachen, dabei wird nach dem Server und nach der Instanznummer gefragt. `
korrekt!@tom57:Beim Server gebe ich den Slave ein (rasp) und erhalte folgende Fehlermeldung:
$ ./iobroker add node-red –host rasp
ERROR: host.DS1 error: this adapter does not allow multiple instances on one host
ERROR: process exited with code 21 `
Sollte nicht sein.Der bezeichnung
@tom57:heißen DS1 `
entnehme ich dass der Master auf einer DS läuft.Da er (habe gerade nachgelesen) in einem Docker läuft bin ich raus.
Da gibt es so viele Fallstricke, die ich nicht kenne.
Mag daher sein, dass es ein Bug ist, kann aber auch an der Konfiguration des Dockers liegen.
Gruß
Rainer
-
Habe genau deswegen was am Admin geändert. In 3.5.7 und vorher war da noch ein Fehler drin. Würde mir das sehr gerne ansehen. Du hast eine PN.
-
Verschiebe doch zuerst den node-red.0 mit dem Admin auf den Slave. Dann versuche die Installation von node-red.1 auf dem Master.
-
So jetzt weiss ich, wie ich zwei Instanzen von node-red im Multihost zum Laufen bringe:
Zuerst muss die Instanz auf dem Slave installiert werden und erst danach die Instanz auf dem Master.
Umgekehrt geht nicht ! (Fehler bei der Überprüfung). Dabei kann beides Mal die Portnummer 1880 vergeben werden.
Ich habe die 1. Instanz vom Master auf den Slave geändert und dann node-red ein zweites Mal auf dem Master installiert.
Beim "Umzug" auf den Slave ist mir aufgefallen, dass alle Flows mit umgezogen sind.
Bei der "Neuinstallation" auf dem Master waren alle Flows noch vorhanden. D.h. alle Flows liefen dann 2 Mal !
Grüße und vielen Dank an alle die mitgeholfen haben
Thomas
-
Passt dann das, was ich geschrieben habe, im Prinzip?
-
ja passt. Ich empfehle nur die node-red Instanz nicht auf den Slave umzuziehen, weil dann alle Flows dupliziert werden.
****Vielmehr:
Löschen der node-red Instanz auf dem Master, dann Neuanlegen - 1. Instanz auf dem Slave und dann 2. Instanz auf dem Master.
Dann sind die alten Flows auf dem Master wieder verfügbar und der Slave ist leer.****
Einen Slave wieder aus dem Multihost-Verbund entfernen:
1. auf dem Slave
cd /opt/iobroker
iobroker stop
iobroker setup custom –>> alles auf lokal
iobroker start ---> resultat lokale ioBroker Instanz
2. Auf dem Master
cd /opt/iobroker
iobroker stop
iobroker host remove xxxx (slave name)
iobroker start
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden