it-swarm.com.de

Redis Datastore Server konnte nicht gestartet werden (Ubuntu 16.04.1 LTS)

ich habe gerade Redis installiert und es funktioniert überhaupt nicht, wenn ich versuche, den Dienst mit dem Befehl zu starten:

Sudo service redis-server start

dies ist das Ergebnis von journalctl -xe:

Subject: Unit redis-server.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit redis-server.service has finished shutting down.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Start request repeated too quickly.
Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.

und das ist das Ergebnis von systemctl status redis-server.service:

 redis-server.service - Redis Datastore Server
 Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
 Active: inactive (dead) (Result: resources) since Kam 2017-03-02 13:22:46 WIB; 5min ago
 Process: 12120 ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)

Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.
Mar 02 13:22:46 aaaaa-notebook systemd[1]: redis-server.service: Unit entered failed state.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Failed with result 'resources'.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
Mar 02 13:22:46 aaa-notebook systemd[1]: Stopped Redis Datastore Server.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Start request repeated too quickly.
Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.
7
Kakashi

Ich hatte das gleiche Problem und konnte nirgendwo eine funktionierende Lösung finden. Nach einigem Suchen funktionierte das folgende Update für mich (Ubuntu 16.04)

Fügen Sie in / etc/systemd/system/redis.service im Abschnitt [Service] Folgendes hinzu.

Type=forking
12

Öffnen Sie Ihren Dienst mit einem beliebigen Editor.

vim /etc/systemd/system/redis.service

Sehen Sie sich Ihren Abschnitt [Service] unter ExecStart an. Meiner war:

ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf

Führen Sie diesen Befehl aus, um festzustellen, welche Fehler auftreten. Meins antwortete damit:

 Fatal error, can't open config file '/etc/redis/redis.conf'

Also habe ich gerade diese Zeile aktualisiert (wo meine eigentliche Konfigurationsdatei war)

ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf

Wo redis quickstart es standardmäßig platziert ... :)

3
Kevin Upton

Ich hatte den gleichen Fehler. Aber für mich war der Grund ganz anders: Es war ein Tippfehler in meiner redis.conf -Datei. Das zu korrigieren und den Neustart von Sudo systemctl restart redis-server zu machen, wird sofort wiederholt. Es ist irreführend, dass derselbe Fehler auch für diesen Fall ausgegeben wird.

2
creativcoder

die Datei "redis.service" fehlt im Verzeichnis "/ etc/systemd/system /"

Sudo nano /etc/systemd/system/redis.service

kopieren Sie diese Zeilen und fügen Sie sie ein

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

speichern und schließen Sie diese Datei

als nächstes ändern Sie die Verzeichnisberechtigungen

$ Sudo adduser --system --group --no-create-home redis
$ Sudo chown redis:redis /var/lib/redis
$ Sudo chmod 770 /var/lib/redis

als nächstes starten Sie den Redis-Server

$ Sudo systemctl start redis

überprüfen Sie, ob es jetzt läuft

$ Sudo systemctl status redis

VERWEIS: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04

1
Rishik Rohan

Ich brauchte sowohl einen/var/lib/redis-Ordner als auch einen redis-Benutzer und eine redis-Gruppe.

Ich habe Kevin Uptons https://askubuntu.com/a/981641/451682 Rat verwendet, um meine Probleme zu finden: vim /etc/systemd/system/redis.service hat mich zu /usr/local/bin/redis-server /etc/redis/redis.conf geführt, der mit Can't chdir to '/var/lib/redis': No such file or directory geantwortet hat, den ich mit Sudo mkdir /var/lib/redis erstellt habe.

Dann musste ich aber auch den Benutzer und die Gruppe redis erstellen und in das Verzeichnis/var/lib/redis einfügen, und zwar gemäß Rishik Rohans https://askubuntu.com/a/918408/451682 :

Sudo adduser --system --group --no-create-home redis
Sudo chown redis:redis /var/lib/redis
Sudo chmod 770 /var/lib/redis

Danke euch beiden!

0
Alien Life Form

Schritte, um dieses Problem zu beheben: - + ============= + A. Legen Sie das Speicherlimit in der Datei redis.conf in der 566-Nummernzeile fest

566 maxmemory 256mb 567 maxmemory-policy allkeys-lru

B. Setzen Sie die Einstellung für den Linux-Kernel-Overcommit-Speicher auf 1:

$ Sudo sysctl vm.overcommit_memory = 1

oder /etc/sysctl.conf und ändern Sie es in 1.

C. Starten Sie den Redis-Server jetzt neu.

$ systemctl restart redis

Bitte überprüfen Sie jetzt den Status von Redis.

Wenn das Problem weiterhin besteht, können Sie die Servicedatei bearbeiten und erneut bearbeiten.

========= vi /etc/systemd/system/redis.service

Sie werden wie folgt sehen: -

[Unit] Description = Redis In-Memory Data Store After = network.target

[Service] Benutzer = root Gruppe = root ExecStart = /usr/local/bin/redis-server/etc/redis/redis.conf ExecStop = /usr/local/bin/redis-cli shutdown Restart = always

Typ = Gabelung

[Installieren] WantedBy = multi-user.target

Ändern Sie es ExecStart =/usr/local/bin/redis-server /etc/redis/redis.conf

zu

ExecStart = /usr/local/bin/redis-server/etc/redis.conf

Starten Sie nun den Redis-Dienst

$ systemctl start redis

Jetzt startet Redis ohne Fehler.

+ ============== +

Testen der Redis: -

[root @ server] # redis-cli 127.0.0.1:6379> ping Verwenden Sie den Befehl echo, um eine bestimmte Zeichenfolge zu wiederholen: 127.0.0.1:6379> echo "Tecmint testet Redis" Sie können einen Schlüsselwert auch mit dem Befehl set festlegen so: 127.0.0.1:6379> set mykey "testet Redis" Jetzt den Wert von mykey anzeigen: 127.0.0.1:6379> get mykey "testet Redis" 127.0.0.1:6379> exit [root @ server] #

Nun ist redis erfolgreich gestartet und läuft.

+ ================== +

Danke und Grüße

nachdem Sie alle Einstellungen vorgenommen haben, führen Sie diese Befehle aus

Sudo systemctl daemon-reload

Sudo chown redis:redis /var/lib/redis

Sudo chmod 770 /var/lib/redis

Und danach

Sudo systemctl start redis
0
Susaj S Nair

Bitte überprüfen Sie Ihren redis.log. Sie sollten so etwas sehen:

41393:M 07 Jun 17:02:19.034 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
41393:M 07 Jun 17:02:19.034 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
41393:M 07 Jun 17:02:19.034 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
41393:M 07 Jun 17:02:19.034 # Can't open the append-only file: Read-only file system

Überprüfen Sie daher Ihre Systemgrenzen und möglicherweise die Dateiberechtigungen Ihres redis AOF (/var/lib/redis/*). Für Systemgrenzen ist hier ein guter Leitfaden .

0