Impossible de démarrer Redis Datastore Server (Ubuntu 16.04.1 LTS)


10

je viens d'installer redis et cela ne fonctionne pas du tout lorsque vous essayez de démarrer le service avec la commande:

sudo service redis-server start

c'est le résultat de 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.

et c'est le résultat de 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.

Réponses:


14

J'ai eu le même problème et je n'ai trouvé aucune solution de travail nulle part. Après quelques recherches, le correctif suivant a fonctionné pour moi (Ubuntu 16.04)

Dans /etc/systemd/system/redis.service, ajoutez ce qui suit sous la [Service]section.

Type=forking

1
Le mien aussi, merci! Comment avez-vous découvert pour ajouter cela? Que fait-il réellement?
fpghost

4

Ouvrez votre service à l'aide de n'importe quel éditeur.

vim /etc/systemd/system/redis.service

Regardez votre [Service]section à la ExecStartmienne était:

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

Exécutez cette commande pour voir quelles erreurs se produisent. Le mien a répondu par ceci:

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

Donc, je viens de mettre à jour cette ligne pour cela (où était mon fichier de configuration réel)

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

C'est là que redis quickstart le place par défaut ... :)


2

J'ai fait face à la même erreur. Mais pour moi, la raison était totalement différente: elle était due à une faute de frappe dans mon redis.confdossier. Corriger cela et faire sudo systemctl restart redis-serverredémarrer redis instantanément. Il est trompeur que la même erreur soit également lancée dans ce cas.


2

Dans mon cas, le répertoire log ( /var/log/redis) que je mentionne dans le /etc/redis/redis.conffichier n'était pas présent

Comment je trouve l'erreur

Essayer

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

Il s'agit de la même commande présente dans mon /etc/systemd/system/redis.servicefichier

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

Solution

1) Créez le répertoire des journaux

sudo mkdir -p /var/log/redis

2) Donner un accès approprié pour créer et écrire des journaux

sudo chown redis:redis /var/log/redis

Essayez de redémarrer le service

sudo service redis-server start 

ou

sudo service redis start

1

Le fichier redis.service est manquant dans le répertoire "/ etc / systemd / system /"

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

puis copiez et collez ces lignes

[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

enregistrer et fermer ce fichier

modifier ensuite les autorisations de répertoire

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

démarrer ensuite le serveur redis

$ sudo systemctl start redis

vérifier si son fonctionnement est maintenant

$ sudo systemctl status redis

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


0

Veuillez vérifier votre redis.log. Vous devriez voir quelque chose comme ceci:

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

Vérifiez donc les limites de votre système et peut-être les autorisations de fichiers de votre redisAOF ( /var/lib/redis/*). Pour les limites du système, voici un bon guide .


0

J'avais besoin à la fois d'un dossier / var / lib / redis et d'un utilisateur et d'un groupe redis.

J'ai utilisé les conseils https://askubuntu.com/a/981641/451682 de Kevin Upton pour trouver mes problèmes: vim /etc/systemd/system/redis.servicem'a conduit à la /usr/local/bin/redis-server /etc/redis/redis.confréponse avec Can't chdir to '/var/lib/redis': No such file or directorylaquelle j'ai créé sudo mkdir /var/lib/redis.

Ensuite, cependant, je devais également créer l'utilisateur et le groupe redis et les placer dans le répertoire / var / lib / redis, en suivant https://askubuntu.com/a/918408/451682 de Rishik Rohan :

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

Merci à vous deux!


0

après avoir fait toutes les conf, essayez ces commandes

sudo systemctl daemon-reload

sudo chown redis:redis /var/lib/redis

sudo chmod 770 /var/lib/redis

Et après

sudo systemctl start redis

0

Étapes pour résoudre ce problème: - + ============== + A. Définissez la limite de mémoire dans redis.conf dans la ligne de numéro 566

566 maxmemory 256 Mo 567 maxmemory-policy allkeys-lru

B. définissez le paramètre de mémoire de surcharge du noyau Linux sur 1:

$ sudo sysctl vm.overcommit_memory = 1

ou /etc/sysctl.conf et remplacez-le par 1.

C. Redémarrez le serveur redis maintenant.

$ systemctl restart redis

Veuillez vérifier maintenant le statut Redis.

Et si le problème persiste, alors allez et modifiez et redéfinissez le fichier de service.

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

Vous verrez comme ceci: -

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

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

Type = Forking

[Installer] WantedBy = multi-user.target

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

à

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

Maintenant, démarrez le service redis

$ systemctl start redis

Redis va maintenant démarrer sans donner aucune erreur.

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

Test du redis: -

[root @ server] # redis-cli 127.0.0.1:6379> ping Utilisez la commande echo pour faire écho à une chaîne donnée: 127.0.0.1:6379> echo "Tecmint teste Redis" Vous pouvez également définir une valeur de clé à l'aide de la commande set comme ceci: 127.0.0.1:6379> set mykey "teste Redis" Maintenant, affichez la valeur de mykey: 127.0.0.1:6379> get mykey "teste Redis" 127.0.0.1:6379> exit [root @ server] #

Redis a maintenant démarré avec succès et fonctionne.

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

Merci et salutations

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.