Redis перезагружают изменения конфигурации, не перезапуская сервис

То, что я сделал бы, является 1 большим Набегом 10. Раздел на 64 ГБ в запуске для ОС, остальных для V: диск - гиперпротив.

Вещи становятся более сложными с высокопроизводительным SQL Server, но затем... Я в 12 дисках в данный момент там еще с 8 прибытиями или так soonish ;)

4
задан 2 January 2013 в 12:25
3 ответа

Да, вы могли бы это сделать, но это потребует написания собственного поставщика услуг в Puppet. Это нетривиально, но если бы вы захотели уменьшить заботу о настройках, это было бы проще.

Простым случаем может быть динамическая установка только ведущего или ведомого устройства. Мы передадим эти параметры вашему классу Redis. Мы, конечно, создадим шаблон для redis.conf и поместим в него эти настройки так же, как вы, вероятно, делаете сейчас. Тогда вам понадобится какой-то синтаксис, подобный тому, что следующая семантика, вероятно, должна быть более выразительной.

redisconf { 'master': enable => 'true', } 

redisconf будет вашим настраиваемым провайдером, который будет написан на Ruby. Ему нужно будет подключиться к порту сервера Redis (это еще один вход, который вам необходимо установить по умолчанию). После подключения вам нужно будет выдать информацию и получить результат в виде хэша.

Первый шаг - определить, какая у вас версия Redis. Если это 2.4 / 2.6, вы можете использовать config set и config get , иначе вы будете использовать хэш, который у нас уже есть, и запускать команды вручную. В нашем примере вы должны проверить значение роли. Если это хозяин, ничего не делайте. Если это ведомое устройство, выполните «slaveof no one» и сгенерируйте событие Puppet. Предполагая, что есть различия, провайдеру redisconf Puppet потребуется внести изменения и, в идеале, проверить или выбросить и ошибку. Оберните все это марионетками, и все будет готово.

Было бы неплохо, если бы вы решили взяться за него.

Я буду использовать уже имеющийся у нас хэш и запускать команды вручную. В нашем примере вы должны проверить значение роли. Если это хозяин, ничего не делайте. Если это ведомое устройство, выполните «slaveof no one» и сгенерируйте событие Puppet. Предполагая, что есть различия, провайдеру redisconf Puppet потребуется внести изменения и, в идеале, проверить или выбросить и ошибку. Оберните все это марионетками, и все будет готово.

Было бы неплохо, если бы вы решили взяться за него.

Я буду использовать уже имеющийся у нас хэш и запускать команды вручную. В нашем примере вы должны проверить значение роли. Если это хозяин, ничего не делайте. Если это ведомое устройство, выполните «slaveof no one» и сгенерируйте событие Puppet. Предполагая, что есть различия, провайдеру redisconf Puppet потребуется внести изменения и, в идеале, проверить или выбросить и ошибку. Оберните все это марионетками, и все будет готово.

Было бы неплохо, если бы вы решили взяться за него.

Оберните все это марионетками, и все будет готово.

Было бы неплохо, если бы вы решили взяться за него.

Оберните все это марионетками, и все будет готово.

Было бы неплохо, если бы вы решили взяться за него.

2
ответ дан 3 December 2019 в 03:59

Нет, перезагрузка конфигурации (в настоящее время) невозможна.

] Если вы управляете настройками, которые регулируются с помощью CONFIG SET , вы можете установить их в работающем экземпляре и просто пропустить перезапуск.
Я бы не советовал делать это в обычных ситуациях, поскольку вы можете сломать файл конфигурации и заметить это только при следующем перезапуске этого экземпляра.

0
ответ дан 3 December 2019 в 03:59

Пока у вас есть постоянство, настроенное с помощью директивы save, перезапуски (в большинстве случаев) неразрушающие.

Если у процесса redis нет постоянства, вы можете включить его с помощью НАБОР КОНФИГУРАЦИИ

telnet 127.0.0.1 1234
CONFIG SET SAVE "900 1 300 10 60 10000"

Убедитесь, что резервная копия данных создана, перейдя в каталог, указанный значением конфигурации dir, и найдите файл, который соответствует значению конфигурации dbfilename. После создания вы можете отредактировать конфигурацию и перезапустить redis, и вы увидите что-то вроде этого в журнале:

[17296] 18 Nov 00:38:32.253 * DB loaded from disk: 0.158 seconds

Виола, вы перезапустили redis и сохранили большую часть своих данных, я исключая то, что произошло между созданием файла резервной копии и перезапуск.

0
ответ дан 3 December 2019 в 03:59

Теги

Похожие вопросы