Продолжая и углубляясь в администрирование Redis встала задача — развернуть второй кластер на машине с уже имеющимся. Например, для кросс-репликации, когда на одном физическом сервере у вас мастер1 и слейв2, а на другом — мастер2 и слейв1.Или же просто для некоторого логического распределения информации на одной машине по нескольким кластерам.
Русскоязычной информации на поверхности не лежало, английская нашлась только для Linux.
Поэтому хочу представить вам небольшую заметку-помощницу о создании поликластера Redis во FreeBSD
Система — FreeBSD 8.4, Редис версии 2.8.4 (что, впрочем, не так уж важно)
Для начала предположим, что у нас есть 1 редис, имеющий пути:
/usr/local/bin/redis-server - инит-скрипт /usr/local/etc/ - директория конфигов /data/redis/ - директория dump.rdb /logs/redis/ - директория для логов
Он работает, останавливать его не надо, даже если мы хотим второй.
И вот как мы это делаем:
Для начала нам нужен новый конфиг.
Делаем
cp /usr/local/etc/redis.conf /usr/local/etc/redis_new.conf
В новом конфиге меняем port (на один порт, увы, два кластера не повесишь), pid-файл на /var/run/redis/redis_new.pid, логфайл на /logs/redis/redis_new.log и, конечно, датадир на /data/redis_new/ а так же прочие интересующие Вас настройки.
Не забываем создать датадир и дать папке права
mkdir /data/redis_new chown -R redis:redis /data/redis_new
Далее я пробовала запускать оба кластера с одного инит-скрипта через ссылку, но что то пошло не так 🙂
Посему, копируем инит скрипт
cp /usr/local/etc/rc.d/redis /usr/local/etc/rc.d/redis_new
и в новом правим в начале параметр «name=»
name="redis_new"
Все остальное не трогаем.
Итак, конфиг есть, логи и дату куда писать есть, инит скрипт — есть. Запускаем:
/usr/local/etc/rc.d/redis_new start
и видим:
@free-bsd:~# ps ax | grep redis 22489 ?? Is 0:02,88 /usr/local/bin/redis-server /usr/local/etc/redis.conf 27218 ?? Ss 0:00,01 /usr/local/bin/redis-server /usr/local/etc/redis_new.conf 27233 0 RL+ 0:00,00 grep redis
Все работает и все хорошо. Ключи не пересекаются, все как надо. При вызове Redis-cli не забывайте указывать порт.
Так же можно добавлять и третий инстанс, и далее, вплоть до количества равному половине ядер сервера.
Надеюсь, кому нибудь, да пригодится (:
ссылка на оригинал статьи http://habrahabr.ru/post/211364/
Добавить комментарий