Skip to content
  • Kategorien
  • World
  • Aktuell
  • Tags
  • Beliebt
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
linux-nerds.org

linux-nerds.org

  1. Übersicht
  2. Linux
  3. Redis
  4. Redis Stack?

Redis Stack?

Geplant Angeheftet Gesperrt Verschoben Redis
redislinux
1 Beiträge 1 Kommentatoren 180 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • FrankMF Offline
    FrankMF Offline
    FrankM
    schrieb am zuletzt editiert von FrankM
    #1

    Für meine Flask & Python Projekt nutze ich schon lange Redis. Redis ist ein "in-memory data store" Normalerweise läuft dafür ein Docker Container auf meinem Haupt-PC, den ich mal vor langer Zeit aufgesetzt hatte. So weit lief auch alles gut.

    Bedingt durch den Versuch, die Flask Anwendung auf meinem 2. PC zu installieren, ergaben sich einige neue Erkenntnisse. Ich hatte dann erst auf dem 2. PC ebenfalls mit einem Docker Container rum gespielt, dabei hatte ich aber das Problem das meine Datenbank nicht akzeptiert wurde.

    Ich habe lange gebraucht um zu kapieren, das Redis ungleich Redis Stack ist. Und damals, wo ich den Docker Container aufgesetzt hatte, hatte ich Redis Stack installiert.

    Redis Stack Server lets you build applications with searchable JSON and time series data models, and extended probabilistic data structures.
    Quelle: https://redis.io/

    Ich habe gerade nochmal in der DB nachgesehen, ich nutze keine dieser zusätzlichen Funktionen. Also müsste ich die Daten alle mühsam extrahieren und in einer einfachen Redis DB wieder installieren.

    Ok, es war also klar das ich einen Redis Stack Server an zentraler Stelle in meinem Netzwerk bräuchte, damit ich von jedem PC aus darauf zugreifen könnte. Als Ort fällt mir da natürlich mein Proxmox ein.

    Bei ersten Versuchen der Installation von Redis Stack schnell drüber gestolpert, das es das aktuell nur für Debian 11 gibt. Ja, die Docker Generation 🙂 Da ich das aber nicht als Docker laufen lassen wollte, musste ich wohl oder übel ein Debian 11 aufsetzen.

    Es gibt auch noch zwei Versionen von Redis Stack

    • Redis Stack Server
    • Redis Stack

    Redis Stack enthält auch noch die Desktop Application RedisInsight, das ist eine Redis GUI. Damit kann man sich die DB ansehen und auch bearbeiten. Das läuft lokal auf meinem Haupt-PC, brauche ich also nicht auf einem Server. Der Server hat ja auch keine GUI. Also war klar, ich brauchte einen Redis Stack Server.

    Zur Installation von Redis Stack Server, findet man das hier auf redis.io

    Kurze Zeit später lief die Debian 11 VM mit Redis Stack Server.

    frank@redis-stack:~$ pstree
    systemd─┬─agetty
            ├─cron
            ├─dbus-daemon
            ├─dhclient───3*[{dhclient}]
            ├─qemu-ga───{qemu-ga}
            ├─redis-server───8*[{redis-server}]
            ├─rsyslogd───3*[{rsyslogd}]
            ├─sshd───sshd───sshd───bash───pstree
            ├─systemd───(sd-pam)
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-timesyn───{systemd-timesyn}
            └─systemd-udevd
    

    Interessant bei Redis ist immer, wo liegt die Konfigurations Datei und wo die Datenbank? Dazu sollte man sich als erstes immer mal den SystemD Dienst ansschauen.

    redis-stack-server.service

    [Unit]
    Description=Redis stack server
    Documentation=https://redis.io/
    After=network.target
    
    [Service]
    Type=simple
    User=redis
    ExecStart=/opt/redis-stack/bin/redis-server /etc/redis-stack.conf
    WorkingDirectory=/var/lib/redis-stack
    UMask=0077
    
    [Install]
    WantedBy=multi-user.target
    

    Das erste was ich gemacht habe, sen User geändert. Stand auf nobody(?) oder so. Ich habe erst mal einen User dafür angelegt.

    useradd -M -s /usr/sbin/nologin redis
    

    Die Konfiguration findet man unter

    /etc/redis-stack.conf
    

    So sieht meine aus

    port 6379
    daemonize no
    requirepass <PASSWORD>
    save 60 1
    #save 900 1
    save 300 10
    save 60 10000
    stop-writes-on-bgsave-error yes
    rdbcompression yes
    rdbchecksum yes
    dbfilename dump.rdb
    dir /var/lib/redis-stack
    loadmodule /opt/redis-stack/lib/rediscompat.so
    loadmodule /opt/redis-stack/lib/redisearch.so
    loadmodule /opt/redis-stack/lib/redistimeseries.so
    loadmodule /opt/redis-stack/lib/rejson.so
    loadmodule /opt/redis-stack/lib/redisbloom.so
    loadmodule /opt/redis-stack/lib/redisgears.so v8-plugin-path /opt/redis-stack/lib/libredisgears_v8_plugin.so
    

    Mit diesen beiden Zeilen

    dbfilename dump.rdb
    dir /var/lib/redis-stack
    

    legt man fest, wo die Datenbank liegt. Unter /var/lib/redis-stack/ findet man dann die Datenbank dump.rdb. Bitte darauf achten, das die Dateiberechtigungen alle passen.

     chown -R redis:redis /var/lib/redis-stack/
    

    Nach einem Neustart, sollte die Redis Datenbank nun mit meiner Datenbank laufen.

    systemctl restart redis-stack-server.service
    

    Wie testet man die Verbindung?

    Einmal kann man das lokal machen. Mit dem Tool redis-cli

    root@redis-stack:/var/lib/redis-stack# redis-cli
    127.0.0.1:6379> 
    

    Wenn man jetzt die Datenbank auswählen möchte, kommt das

    127.0.0.1:6379> SELECT 0
    (error) NOAUTH Authentication required.
    

    Ok, die Datenbank ist mittels Passwort geschützt. Mit AUTH kann man sich authentifizieren.

    127.0.0.1:6379> AUTH <PASSWORD>
    OK
    

    Danach kann man dann die Datenbank wählen und schauen ob was drin ist.

    127.0.0.1:6379> SELECT 0
    OK
    127.0.0.1:6379> KEYS *
    1) "settings"
    127.0.0.1:6379> 
    

    Das kann man auch von extern machen, da aktuell die Redis Datenbank auf alle Netzwerkverbindungen lauscht. Wenn man das nicht möchte, kann man das auch entsprechend einstellen. Hier nicht erläutert.

    Von extern, muss man dann den Host angeben.

    frank@debian:~$ redis-cli -h 192.168.3.9
    192.168.3.9:6379> 
    

    Rest, siehe oben. Danach weiß man ob alles so weit funktioniert. Und zum Schluss noch ein Screenshot vom RedisInsight Tool.

    Screenshot_20240319_143044.png

    Im Fediverse -> @FrankM@nrw.social

    1. NanoPi R5S
    2. Quartz64 Model B, 4GB RAM
    3. Quartz64 Model A, 4GB RAM
    4. RockPro64 v2.1
    1 Antwort Letzte Antwort
    0
    • FrankMF FrankM hat am auf dieses Thema verwiesen
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    • miezmutz@norden.socialM

      Auch mit Ende 50 ist man nicht zu alt, einfach mal einen #Windoof Rechner platt zu machen und #Linux #Mint zu installieren.

      Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Uncategorized windoof linux mint
      1
      0 Stimmen
      1 Beiträge
      6 Aufrufe
      Niemand hat geantwortet
    • FrankMF

      Proxmox - HomeAssistant

      Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Proxmox proxmox homeassistant linux
      1
      2
      0 Stimmen
      1 Beiträge
      488 Aufrufe
      Niemand hat geantwortet
    • FrankMF

      Proxmox 8.1 released

      Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Linux proxmox linux
      1
      0 Stimmen
      1 Beiträge
      156 Aufrufe
      Niemand hat geantwortet
    • FrankMF

      Linux Mint 20.3 Cinnamon & Scannen mit HP LaserJet Pro MFP M28a

      Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Linux linux linuxmint 20.3
      1
      2
      0 Stimmen
      1 Beiträge
      307 Aufrufe
      Niemand hat geantwortet
    • FrankMF

      NodeBB - Upgrade auf v1.19.3

      Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben NodeBB nodeb linux
      1
      0 Stimmen
      1 Beiträge
      128 Aufrufe
      Niemand hat geantwortet
    • FrankMF

      VSCodium - Meldungen trailing-whitespaces

      Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Linux vscodium vscode linux
      1
      3
      0 Stimmen
      1 Beiträge
      139 Aufrufe
      Niemand hat geantwortet
    • FrankMF

      Debian Buster 10.8 released

      Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Linux debian linux
      1
      0 Stimmen
      1 Beiträge
      242 Aufrufe
      Niemand hat geantwortet
    • FrankMF

      Kopia - Policies

      Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Kopia kopia linux
      1
      4
      0 Stimmen
      1 Beiträge
      326 Aufrufe
      Niemand hat geantwortet
    Powered by NodeBB | Contributors
    © 2022 frank-mankel.de
    Fediverse
    • Anmelden

    • Du hast noch kein Konto? Registrieren

    • Anmelden oder registrieren, um zu suchen
    • Erster Beitrag
      Letzter Beitrag
    0
    • Kategorien
    • World
    • Aktuell
    • Tags
    • Beliebt