2013-08-10 5 views
1

J'ai installé redis2.4.14 avant. Yestoday, j'ai redis2.6.14, et directement "cd redis-2.6.14/src; make & & make install". et j'ai enlevé dump.rdb et redis.log de redis-2.4.14. J'ai également mis à jour le fichier de configuration en 2.6.14. J'ai ajouté redis au service lorsque j'ai installé redis-2.4.14. J'exécute la commande "service redis start", mais elle se bloque toujours sans information "ok".mise à niveau redis 2.4.14 à redis 2.6.14, commande "service redis start" se bloque toujours

[[email protected] bin]# service redis start 
Starting redis-server: 

Je peux utiliser Redis nomally

[[email protected] redis]# redis-cli 
redis 127.0.0.1:6379> set name tys 
OK 
redis 127.0.0.1:6379> get name 
"tys" 

mais si je tape "ctrl + c" ou "ctrl + z", "Redis-cli" s'accrocher.

quand je redémarre le système, le processus de démarrage de linux est en attente de « Démarrage Redis-serveur » (Désolé, je suis trop « jeune » pour poster l'image. https://groups.google.com/forum/#!topic/redis-db/iQnlyAAWE9Y)

Mais je peux ssh it.It est un virtuel machine. Il n'y a pas d'erreur dans le journal redis.log.

[1420] 11 Aug 04:27:05.879 # Server started, Redis version 2.6.14 
[1420] 11 Aug 04:27:05.880 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 
[1420] 11 Aug 04:27:05.903 * DB loaded from disk: 0.023 seconds 
[1420] 11 Aug 04:27:05.903 * The server is now ready to accept connections on port 6379 

Voici mon Redis script init.d: ​​

#!/bin/bash 
# 
#redis - this script starts and stops the redis-server daemon 
# 
# chkconfig: 235 90 10 
# description: Redis is a persistent key-value database 
# processname: redis-server 
# config:  /etc/redis.conf 
# config:  /etc/sysconfig/redis 
# pidfile:  /var/run/redis.pid 

# Source function library. 
. /etc/rc.d/init.d/functions 

# Source networking configuration. 
. /etc/sysconfig/network 

# Check that networking is up. 
[ "$NETWORKING" = "no" ] && exit 0 

redis="/usr/local/bin/redis-server" 
prog=$(basename $redis) 

REDIS_CONF_FILE="/etc/redis.conf" 

[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis 

lockfile=/var/lock/subsys/redis 

start() { 
    [ -x $redis ] || exit 5 
    [ -f $REDIS_CONF_FILE ] || exit 6 
    echo -n $"Starting $prog: " 
    daemon $redis $REDIS_CONF_FILE 
    retval=$? 
    echo 
    [ $retval -eq 0 ] && touch $lockfile 
    return $retval 
} 

stop() { 
    echo -n $"Stopping $prog: " 
    killproc $prog -QUIT 
    retval=$? 
    echo 
    [ $retval -eq 0 ] && rm -f $lockfile 
    return $retval 
} 

restart() { 
    stop 
    start 
} 

reload() { 
    echo -n $"Reloading $prog: " 
    killproc $redis -HUP 
    RETVAL=$? 
    echo 
} 

force_reload() { 
    restart 
} 

rh_status() { 
    status $prog 
} 

rh_status_q() { 
    rh_status >/dev/null 2>&1 
} 


case "$1" in 
    start) 
     rh_status_q && exit 0 
     $1 
     ;; 
    stop) 
     rh_status_q || exit 0 
     $1 
     ;; 
    restart|configtest) 
     $1 
     ;; 
    reload) 
     rh_status_q || exit 7 
     $1 
     ;; 
    force-reload) 
     force_reload 
     ;; 
    status) 
     rh_status 
     ;; 
    condrestart|try-restart) 
     rh_status_q || exit 0 
     ;; 
    *) 
     echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" 
     exit 2 
esac 
+0

eh, comment puis-je poster un grand segment de code? ligne evry avec 4 espaces? Ne riez pas de moi, le code ci-dessus m'a coûté beaucoup d'espaces. – Tiysee

+0

La commande "service redis stop" pourrait être exécutée de manière nominale. Après la commande stop, "service redis start" retournera "Redis-server:/bin/bash: ligne 1: 1420 Quitter/usr/local/bin/redis-server /etc/redis.conf [FAILED]" Mais le Le fichier journal n'indique aucune information échouée. – Tiysee

Répondre

0

Version 3.0.1 @ CentOS 6.6 - le même problème.
Essayé avec deux scripts d'initialisation différents.
'daemonize oui' résout le problème!

+1

Pouvez-vous expliquer à OP comment cela pourrait résoudre le problème? –

+0

Cela semble être une copie de [l'autre réponse] (https://stackoverflow.com/a/18169173). – Pang