Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Problem] Umstellung bestehendes Master-Slave System auf Redis

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Problem] Umstellung bestehendes Master-Slave System auf Redis

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      e-i-k-e last edited by e-i-k-e

      Hallo zusammen,

      ich würde mein bestehendes System gerne auf Redis umsetzen.
      Hardware: 1x Master: Rock64 (4GB), 5x (Slave) Raspberry 3B
      Leider bekomme ich es aktuell es nicht hin, dass sich die Slave mit dem Master, nach der u.g. Umstellung, verbinden.
      js-controller 1.5.7, npm 6.8.0

      So bin ich vergangen.

      iobroker stop (auf allen Hosts)

      Master
      Installation des redis servers
      nano /etc/redis/redis.conf und bind 127.0.0.1 gegen bind 0.0.0.0 ersetzt
      iobroker setup custom und unter Type of states DB [file, redis], default [file]: r
      service redis-server restart

      Slave
      iobroker setup custom und unter Type of states DB [file, redis], default [file]: r

      Anschließend alle Hosts nacheinander gestartet.
      Verschiedene Konstellationen/Einstellungen/Neustart haben ich getestet.
      Leider ohne Erfolg.

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

        Aus Deiner Beschribung ist nicht zu sehen ob Du in setup custom
        Master: Bei Redis 0.0.0.0
        Slave: Bei Redis : <IP_MASTER>
        eingegeben hast.
        Denk dran, dass auf dem Slave auch bei Objects die Master IP eingegeben werden muss.

        Aus meinen iobroker.json files:
        Master

          "objects": {
            "type": "file",
            "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379], couch - [port 5984].",
            "host": "0.0.0.0",
            "port": 9001,
            "user": "",
            "pass": "",
            "noFileCache": false,
            "connectTimeout": 2000,
            "backup": {
              "disabled": false,
              "files": 24,
              "filesComment": "Minimal number of backup files, after the deletion will be executed according to backupTime settings",
              "hours": 48,
              "hoursComment": "All backups older than 48 hours will be deleted. But only if the number of files is greater than of backupNumber",
              "period": 120,
              "periodComment": "by default backup every 2 hours. Time is in minutes. To disable backup set the value to 0",
              "path": "",
              "pathComment": "Absolute path to backup directory or empty to backup in data directory"
            }
          },
          "states": {
            "type": "redis",
            "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379].",
            "host": "0.0.0.0",
            "port": 6379,
            "maxQueue": 1000,
            "options": {
              "auth_pass": null,
              "retry_max_delay": 15000
            },
        

        Slave

          "objects": {
            "type": "file",
            "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379], couch - [port 5984].",
            "host": "192.168.0.201",
            "port": 9001,
            "user": "",
            "pass": "",
            "noFileCache": false,
            "connectTimeout": 2000
          },
          "states": {
            "type": "redis",
            "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379].",
            "host": "192.168.0.201",
            "port": 6379,
            "maxQueue": 1000,
            "options": {
              "auth_pass": null,
              "retry_max_delay": 15000
            }
          },
        
        1 Reply Last reply Reply Quote 0
        • E
          e-i-k-e last edited by

          Hallo und Danke für deine Antwort!

          Die IP-Adresse hatte ich vergeben, werde es aber vorsichtshalber nochmal überprüfen. 😉

          Lieben Gruß aus Ostfriesland! 👋

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @e-i-k-e last edited by

            @e-i-k-e sagte in [Problem] Umstellung bestehendes Master-Slave System auf Redis:

            Die IP-Adresse hatte ich vergeben,

            bei objects und states?

            1 Reply Last reply Reply Quote 0
            • E
              e-i-k-e last edited by

              Hab es gerade mit einem Slave versucht.
              Leider ohne erfolg.

              Master

              root@ioBroker-Rock64:~# iobroker setup custom
              Type of objects DB [(f)ile, (c)ouch, (r)edis], default [file]: r
              Host / Unix Socket of objects DB(redis), default[127.0.0.1]: 0.0.0.0
              Port of objects DB(redis), default[6379]: 9001
              Type of states DB [(f)file, (r)edis], default [undefined]: r
              Host / Unix Socket of states DB (redis), default[0.0.0.0]: 0.0.0.0
              Port of states DB (redis), default[6379]:
              Host name of this machine [ioBroker-Rock64]: iobroker-Rock64
              creating conf/iobroker.json
              root@ioBroker-Rock64:~# iobroker start
              Starting iobroker controller daemon...
              /opt/iobroker/node_modules/daemonize2/lib/daemonize.js:136
                          throw new Error(msg.error);
                          ^
              
              Error: ReferenceError: id is not defined
                  at checkObjectRights (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInRedis.js:969:26)
                  at ObjectsInRedis.subscribe (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInRedis.js:1041:13)
                  at init (/opt/iobroker/node_modules/iobroker.js-controller/controller.js:2828:13)
                  at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/controller.js:2879:1)
                  at Module._compile (module.js:653:30)
                  at Object.Module._extensions..js (module.js:664:10)
                  at Module.load (module.js:566:32)
                  at tryModuleLoad (module.js:506:12)
                  at Function.Module._load (module.js:498:3)
                  at Module.require (module.js:597:17)
                  at ChildProcess.<anonymous> (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:136:19)
                  at emitTwo (events.js:126:13)
                  at ChildProcess.emit (events.js:214:7)
                  at emit (internal/child_process.js:762:12)
                  at _combinedTickCallback (internal/process/next_tick.js:142:11)
                  at process._tickCallback (internal/process/next_tick.js:181:9)
              
              root@ioBroker-Rock64:~# iobroker status
              iobroker is not running
              
              Objects type: redis
              States  type: redis
              root@ioBroker-Rock64:~# iobroker start
              Starting iobroker controller daemon...
              /opt/iobroker/node_modules/daemonize2/lib/daemonize.js:136
                          throw new Error(msg.error);
                          ^
              
              Error: ReferenceError: id is not defined
                  at checkObjectRights (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInRedis.js:969:26)
                  at ObjectsInRedis.subscribe (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInRedis.js:1041:13)
                  at init (/opt/iobroker/node_modules/iobroker.js-controller/controller.js:2828:13)
                  at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/controller.js:2879:1)
                  at Module._compile (module.js:653:30)
                  at Object.Module._extensions..js (module.js:664:10)
                  at Module.load (module.js:566:32)
                  at tryModuleLoad (module.js:506:12)
                  at Function.Module._load (module.js:498:3)
                  at Module.require (module.js:597:17)
                  at ChildProcess.<anonymous> (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:136:19)
                  at emitTwo (events.js:126:13)
                  at ChildProcess.emit (events.js:214:7)
                  at emit (internal/child_process.js:762:12)
                  at _combinedTickCallback (internal/process/next_tick.js:142:11)
                  at process._tickCallback (internal/process/next_tick.js:181:9)
              root@ioBroker-Rock64:~#
              

              Slave

              root@raspberrypi-display3:~# iobroker status
              undefined Redis connection to 192.168.3.100:9001 failed - connect ECONNREFUSED 1        92.168.3.100:9001
              undefined Error: Redis connection to 192.168.3.100:9001 failed - connect ECONNRE        FUSED 192.168.3.100:9001
                  at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
              undefined No redis connection!
              undefined Redis connection to 192.168.3.100:9001 failed - connect ECONNREFUSED 1        92.168.3.100:9001
              undefined Error: Redis connection to 192.168.3.100:9001 failed - connect ECONNRE        FUSED 192.168.3.100:9001
                  at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
              undefined No redis connection!
              undefined Redis connection to 192.168.3.100:9001 failed - connect ECONNREFUSED 1        92.168.3.100:9001
              undefined Error: Redis connection to 192.168.3.100:9001 failed - connect ECONNRE        FUSED 192.168.3.100:9001
                  at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
              undefined No redis connection!
              undefined Redis connection to 192.168.3.100:9001 failed - connect ECONNREFUSED 1        92.168.3.100:9001
              undefined Error: Redis connection to 192.168.3.100:9001 failed - connect ECONNRE        FUSED 192.168.3.100:9001
                  at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
              undefined No redis connection!
              No connection to 192.168.3.100:9001[redis]
              root@raspberrypi-display3:~# iobroker setup custom
              Type of objects DB [(f)ile, (c)ouch, (r)edis], default [file]: r
              Host / Unix Socket of objects DB(redis), default[127.0.0.1]: 192.168.3.100
              Port of objects DB(redis), default[6379]:
              Type of states DB [(f)file, (r)edis], default [redis]: r
              Host / Unix Socket of states DB (redis), default[192.168.3.100]: 192.168.3.100
              Port of states DB (redis), default[6379]:
              Host name of this machine [raspberrypi-display3]: raspberrypi-display3
              creating conf/iobroker.json
              
              

              Habe daraufhin den Default Port 6379 getestet (siehe Slave, dieser wurde natürlich auch beim Master geändert).

              Was mach ich falsch?

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @e-i-k-e last edited by

                @e-i-k-e sagte in [Problem] Umstellung bestehendes Master-Slave System auf Redis:

                Was mach ich falsch?

                Ich muss mir mal die Anleitung heute Abend ansehen.
                Evtl. habe ich da was verschlimmbessert 😞

                Mir kommt es gerade komisch vor, dass auf dem Master Redis für Objects läuft.
                Das sollte IMHO auf file stehen.

                Nur die States in redis

                1 Reply Last reply Reply Quote 0
                • E
                  e-i-k-e last edited by

                  Okay. Da liegt mein Fehler. Ich hatte redis bei Objects aktiviert. E
                  Evtl. sollte man dies in der Anleitung noch etwas genauer beschreiben, Bzw. die korrekten Einstellung vorgeben. Aber nur so als Vorschlag 🙂

                  Iobroker Master startet jetzt mit Redis (bei States).

                  root@ioBroker-Rock64:~# iobroker setup custom
                  Type of objects DB [(f)ile, (c)ouch, (r)edis], default [file]:
                  Host / Unix Socket of objects DB(file), default[127.0.0.1]: 0.0.0.0
                  Port of objects DB(file), default[9001]:
                  Type of states DB [(f)file, (r)edis], default [file]: r
                  Host / Unix Socket of states DB (redis), default[0.0.0.0]: 0.0.0.0
                  Port of states DB (redis), default[6379]:
                  Host name of this machine [ioBroker-Rock64]:
                  creating conf/iobroker.json
                  root@ioBroker-Rock64:~# iobroker restart
                  Stopping iobroker controller daemon...
                  iobroker controller daemon stopped.
                  Starting iobroker controller daemon...
                  iobroker controller daemon started. PID: 17507
                  root@ioBroker-Rock64:~# iobroker status
                  iobroker is running
                  
                  Objects type: file
                  States  type: redis
                  
                  

                  Unter Host wird allerdings kein Slave und keine Instanzen mehr aufgeführt. ☹

                  
                  root@raspberrypi-display3:~# sudo iobroker multihost status
                  Nothing changed.
                  
                  
                  Miltihost:      disabled
                  Authentication: enabled
                  Objects:        file on 192.168.3.100
                  States:         redis on 192.168.3.100
                  
                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @e-i-k-e last edited by

                    @e-i-k-e sagte in [Problem] Umstellung bestehendes Master-Slave System auf Redis:

                    Evtl. sollte man dies in der Anleitung noch etwas genauer beschreiben, Bzw. die korrekten Einstellung vorgeben.

                    Ja sollte man 😉
                    Welche Anleitung genau hast du benutzt?

                    @e-i-k-e sagte in [Problem] Umstellung bestehendes Master-Slave System auf Redis:

                    Unter Host wird allerdings kein Slave und keine Instanzen mehr aufgeführt

                    Wo wir schon wieder bei Anleitung sind 😉

                    1 Reply Last reply Reply Quote 0
                    • E
                      e-i-k-e last edited by e-i-k-e

                      Tatsächlich, der Neustart war es! Kleine Fehler, große Wirkung.
                      Mein Master-/Slave System läuft jetzt komplett! ☺

                      masterslave.JPG

                      Ich habe folgende Anleitungen verwendet.
                      http://www.iobroker.net/docu/?page_id=3068&lang=de#Multihost_mit_redis
                      http://blog.unltd-networx.de/iobroker-multihostbetrieb-einrichten/

                      Leider ist im Log viel rot. 😕
                      fehlert.JPG
                      fehler2.JPG
                      fehler3.JPG
                      fehler4.JPG

                      1 Reply Last reply Reply Quote 0
                      • E
                        e-i-k-e last edited by

                        Kurze Rückmeldung.

                        ioBroker lief durch Redis gefühlt etwas schneller.
                        Leider habe ich die o.g. Fehler nicht in den Griff bekommen, dadurch lief unsere Heizung nicht mehr. (Frau war nicht zufrieden.. 😉 )
                        Ich bin erstmal wieder zurück.

                        Wenn jemand eine Idee/Lösungsvorschlag hat, versuche ich es gerne noch einmal.

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @e-i-k-e last edited by

                          @e-i-k-e
                          Die Fehler zeigen, dass einige Datenpunkte nicht gefunden werden.

                          Das sind ical event.

                          Existieren diese noch?

                          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

                          603
                          Online

                          32.0k
                          Users

                          80.5k
                          Topics

                          1.3m
                          Posts

                          masterslave multihost redis
                          3
                          11
                          957
                          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