Redis não será encerrado

6

Na maioria das vezes quando eu reinicio o meu servidor Ubunutu, eu recebo "Esperando pelo Redis para desligar ..." várias vezes e ele nunca para até eu forçar a reinicialização. O que poderia causar isso?

Eu tenho link monitorando que o resque continua em execução, então isso pode estar relacionado a isso.

    
por 99miles 11.02.2012 / 00:08

4 respostas

8

Você tem o Redis ouvindo em uma interface diferente de localhost ou 127.0.0.1 ? Em caso afirmativo, o comando de parada nunca será enviado para a interface certa, pois o modelo de inicialização oficial do Redis falha para incluir o endereço do host .

Nos arquivos /etc/init.d/redis com os quais trabalhei, tive que definir REDISHOST=10.150.0.18 e, em seguida, na linha 30 (procure por "shutdown"), adicionar esse argumento de host:

$CLIEXEC -h $REDISHOST -p $REDISPORT shutdown
    
por 07.08.2013 / 07:27
3

Se você fosse como eu, você precisava de uma senha (requirepass) no seu redis.conf. o comando redis-cli não responderá sem a senha agora.

Nas primeiras poucas linhas do seu arquivo /etc/init.d/redis procure CLIEXEC e altere o padrão

CLIEXEC=/usr/local/bin/redis-cli

para

CLIEXEC="/usr/local/bin/redis-cli -a <password>"

Por favor, tome nota das citações.

Quando fiz isso, não precisei incluir os parâmetros -h $ REDISHOST.

Veja aqui a origem da ideia: link

    
por 10.09.2013 / 01:37
2

A conversa em esta lista pode resolver o seu problema:

Modify your init script to use '-a' (auth) in the redis-cli call.

CLIEXEC="/usr/local/bin/redis-cli -a password"

Em outras palavras, o problema é o fato de você ter que digitar a senha do Redis para parar o serviço. Modificar o script /etc/init.d/redis_port (ou qualquer outro script de init que você possa ter) com -a password irá resolvê-lo.

    
por 05.11.2013 / 18:29
0

você pode matar o processo de atualização:

$ ps -ef|grep "redis"

# kill $(cat /var/run/redis.pid)
    
por 07.08.2013 / 10:51