Redis имеет конфигурацию главного подчиненного устройства. Если мастер выходит из строя, подчиненный становится новым мастером. Как я могу перезапустить предыдущий мастер Redis (в качестве подчиненного устройства нового мастера или если он снова станет главным, это нормально) с помощью сценария. Я не хочу сделать это вручную.
Как я могу перезапустить сервер Redis, если он автоматически отключается с помощью сценария?
comment
Покажи нам, что ты сделал?
- person kk.   schedule 21.06.2017
comment
@KrishnaKuntala, мой мастер работает на порте 6379, а мой подчиненный - на 6380 и 6381. И с помощью sentinel.conf я решаю, какой будущий мастер выйдет из строя.
- person Manoj   schedule 21.06.2017
comment
@KrishnaKuntala с использованием redis-cli -p 6379 DEBUG sleep 30 Я убиваю своего хозяина, и подчиненный становится главным. Но предыдущий мастер не является ни подчиненным, ни главным, поэтому я хочу перезапустить его. Я сделал это вручную, но могу ли я написать для этого любой скрипт
- person Manoj   schedule 21.06.2017
Ответы (3)
Это можно сделать с помощью небольшого скрипта. Создайте скрипт-наблюдатель, который продолжает пинговать REDIS на порт 6379 и в случае сбоя. Просто перезапустите сервер с помощью команды redis-server.
#!/bin/bash
a=$(redis-cli -p 6379 PING)
if [ "$a" = "PONG" ]
then
echo 'Already running'
else
b=$(/etc/init.d/redis_6379 start)
echo $b
fi
Теперь запланируйте этот скрипт в crontab на каждую минуту.
person
Aditya Chowdhry
schedule
07.07.2017
OK. Мне пришлось учиться после катастрофического сбоя сервера, вызванного смертью Redis и тем, что он остался мертвым:
Отредактируйте
/etc/systemd/system/multi-user.target.wants/redis.service
и добавьте это в раздел[Service]
внизу:Restart = всегда RestartSec = 10 с
Запустите
sudo systemctl daemon-reload
Запустите
sudo systemctl restart redis
Теперь он будет перезапускаться через 10 секунд каждый раз при сбое.
Обычно этого достаточно для Redis.
person
Theodore R. Smith
schedule
21.10.2020
person
schedule
Не могли бы вы добавить поясняющий текст к своему сообщению
- person nbk; 03.11.2019
Предоставленный ответ был помечен для просмотра как сообщение низкого качества. Вот несколько рекомендаций для Как написать хороший ответ?. Этот предоставленный ответ может быть правильным, но для него может быть полезно объяснение. Ответы только на код не считаются хорошими ответами. Из обзора.
- person Trenton McKinney; 04.11.2019