Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Frage] redis - Installation lokal oder extern

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Frage] redis - Installation lokal oder extern

    This topic has been deleted. Only users with topic management privileges can see it.
    • hydrotec
      hydrotec last edited by hydrotec

      Hallo zusammen,

      ich habe mich heute etwas mit redis beschäftigt.
      Nach langem hin- und herlesen, redis in einem Container installiert.
      Hat alles soweit funktioniert. Erste Test waren erfolgreich.
      Dann habe ich ioBroker umstellen möchten, was auf Anhieb nicht funktionierte.
      Also dachte ich mir, hast wieder Mist gebaut, und redis in dem gleichen Container wie ioBroker installiert.
      Danach hat alles reibungslos funktioniert. States werden in die redis Datenbank geschrieben, und daraus gelesen.
      Da es mir keine Ruhe gelassen hat, warum das in einem externen Container nicht funktioniert,
      noch einmal diese Anleitung von @apollon77 , welche übrigens sehr gut verfasst ist, durchgelesen.
      Lösung gefunden.

      Falls auch andere Hosts auf diesen Redis-Server zugreifen sollen (Slaves oder so), dann muss dies noch erlaubt werden. 
      Dazu muss /etc/redis/redis.conf editiert werden und die Zeile bind 127.0.0.1 zu bind 0.0.0.0 geändert werden 
      und direkt darunter der protected_mode auf no gesetzt werden.
      

      War bei mir auf noch auf yes.

      Jetzt sind bei mir noch ein paar Fragen aufgetaucht, welche ich vorher gerne beantwortet hätte,
      bevor ich wieder auf den externen Container umschwenke.
      Derzeit habe ich nur eine Anwendung (ioBroker), welche redis nutzen würde.

      Welche Vor- oder Nachteile entstehen wenn ich lokal bleibe, bzw. auf externen Container umschwenke?

      Wenn redis extern läuft, und neu gestartet werden muss, wie reagiert ioBroker darauf?

      Ich hoffe ihr könnt mir etwas bei der Entscheidungsfindung helfen.
      Gruß, Karsten

      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @hydrotec last edited by

        @hydrotec
        Ich habe Iobroker und Redis in 2 separaten Containern installiert.
        Beide Container per Compose in einem service.
        Dadurch kannst du jeweils die Standard Containers von buanet und redis verwenden ind dadurch bei Updates einfacher altualisieren.

        Ich könnte die mein compose File geben.
        Habe allerdings mit macvlan konfiguriert.

        hydrotec 1 Reply Last reply Reply Quote 0
        • hydrotec
          hydrotec @OliverIO last edited by hydrotec

          @oliverio sagte in [Frage] redis - Installation lokal oder extern:

          Beide Container per Compose in einem service.

          Da müsste ich mich erst einmal schlau machen, wie das unter LXD funktioniert, wenn überhaupt.

          Ich könnte die mein compose File geben.

          Danke für das Angebot.

          Habe allerdings mit macvlan konfiguriert.

          Sind meine Container auch, finde ich einfacher zu verwalten.

          Aber die Idee ist nicht schlecht, zwei Container die miteinander verbunden sind, im Fall das einer ausfällt.
          Quasi HA.

          arteck 1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active @hydrotec last edited by

            @hydrotec sagte in [Frage] redis - Installation lokal oder extern:

            Aber die Idee ist nicht schlecht, zwei Container die miteinander verbunden sind, im Fall das einer ausfällt.
            Quasi HA.

            das ist quatsch..

            und ihr redet meine ich aneinander vorbei der eine über docker der andere LCX
            korrigiert mich webb ich falsch lese

            der vorteil ist man verteil die ressourcen auf 2 Maschienen (container oder lxc ist egal)
            der update ist einfcher
            und das backup von iobroker ist kleiner..

            eine HA bekommst du damit nicht hin..

            hydrotec 1 Reply Last reply Reply Quote 0
            • hydrotec
              hydrotec @arteck last edited by

              @arteck

              Kann schon sein. 😉

              Doch stellt sich mir immer noch die Frage, wie reagiert ioBroker, wenn der externe redis Server nicht verfügbar ist.
              Wenn ioBroker und redis auf dem gleichen Server liegen, dann sind halt beide Anwendungen down,
              und nichts weiteres passiert, oder.
              Und, bringt es überhaupt Vorteile, redis in einem extra Container laufen zu lassen?
              Bin noch recht unerfahren, was das Zusammenspiel ioBroker und redis angeht.

              1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 last edited by

                Aaaaaaaaaalso :-))

                Mit Redis (und jetzt nehmen wir mal an das States und Objects im Redis sind) wird die Redis DB quasi zum "Master" und alle Hosts mit einem ioBroker js-controller sind alle gleichberechtigt. ABER damit: Wenn die DB weg ist geht nichts mehr weil halt die DB weg ist. Die DB ist also dein "Single Point of Failure".

                Wenn man jetzt den Redis auf dem gleichen Host hat wie einen der iobroker Prozesse (oder "lokal" wie du es nennst) dann hat man quasi das gleiche Szenario wie bisher mit der file bzw jsonl DB ... wenn der Host ausfällt geht nichts mehr.

                Wenn der Redis (egal ob lokal oder extern) neu gestartet wird dann verkraftet der iobroker das für im Standard maximal ca. 90s. Im Log wirst Du sehen das die DBs in dem Zeitraum versuchen den Redis neu zu verbinden. Fehlende Schreibaktionen werden dann gepuffert und dann geschrieben wenn die Verbindung wieder da ist. Falls es länger dauert werden alle adapter beendet und der js-controller startet sich neu um immer wieder neu zu verbinden. Wenn Redis dann wiederkommt wird alles wieder hochgefahren. Das könnte man durch settings ändern und länger machen, aber ich habe diesen Weg gewählt weil nach ca. 90s der lokale Stand immer weiter auseinander läuft und es danach sowieso komisch wird was Skripte o.ä. angeht weil Sie dann ggf zu strange reagieren.

                Wer mindestens 3 Hosts hat kann den Redis als Cluster mit Sentinel aufsetzen, dann ist der Ausfall eines Nodes egal weil dasnn ein anderer Redis als neuer Master übernimmt und die Adapter alle umschwenken.

                Und, bringt es überhaupt Vorteile, redis in einem extra Container laufen zu lassen?

                Am Ende ist der Vorteil das jeder Container "zielgerichteter arbeitet und minimaler" (one container, one function) ... aber ja das Risiko bei Ausfall ist etwas höher

                hydrotec 1 Reply Last reply Reply Quote 1
                • hydrotec
                  hydrotec @apollon77 last edited by hydrotec

                  @apollon77

                  Dankeschön für die ausführliche Antwort.
                  Meine Fragen sind beantwortet, und ich verstehe die Konstellation besser.
                  Wenn ich es nicht komplett falsch verstanden habe, stört der kurzfristige Ausfall von redis hauptsächlich,
                  wenn die Objekte mit in diese Datenbank verschoben werden.

                  Einen Cluster mit Sentinel ist für die Heimanwendung dann doch etwas übertrieben,
                  und wie du es beschrieben hast, auch nicht notwendig, bei kurzfristigem Ausfall von redis.

                  Danke nochmal 👍

                  apollon77 2 Replies Last reply Reply Quote 0
                  • apollon77
                    apollon77 @hydrotec last edited by

                    @hydrotec sagte in [Frage] redis - Installation lokal oder extern:

                    Wenn ich es nicht komplett falsch verstanden habe, stört der kurzfristige Ausfall von redis hauptsächlich,
                    wenn die Objekte mit in diese Datenbank verschoben werden.

                    Ne, das oben genannte gilt egal für was mit Redis.

                    Wenn man nur States in Redis hat und Objects nicht macht es in jedem fall (in meinen Augen) KEINEN Sinn Redis extern zu betreiben, weil man dann zwei Single-point-of-Failures hat! Adapter und alles brauchen beide Datenbanken. Wenn Objects also file/jsonl von einem js-controller bereitgestellt wird und States im Redis dann uss beies da sein damit es tut.

                    hydrotec 1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 @hydrotec last edited by

                      @hydrotec sagte in [Frage] redis - Installation lokal oder extern:

                      Einen Cluster mit Sentinel ist für die Heimanwendung dann doch etwas übertrieben,

                      Wie man es sieht :-)) Wenn man 3 Hosts hat ... why not 🙂

                      1 Reply Last reply Reply Quote 0
                      • hydrotec
                        hydrotec @apollon77 last edited by

                        @apollon77

                        Wieder was gelernt 🙂

                        @apollon77 sagte in [Frage] redis - Installation lokal oder extern:

                        Wie man es sieht :-)) Wenn man 3 Hosts hat ... why not

                        Das ist dann etwas anderes, doch bis dahin bin ich vermutlich schon in Rente 😉

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        648
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        container installation lokal redis
                        4
                        10
                        493
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo