Конфигурация подчиненного устройства Redis-stack-server для репликации

новичок в Redis с открытым исходным кодом, поэтому, если этот вопрос в корне неверен, дайте мне знать, как его исправить.

Я установил redis-server и смог следовать документации, а также некоторым другим онлайн-ресурсам, а также смог настроить конфигурацию master -> подчиненный 1/2 для имитации репликации на виртуальной машине Linux. Я сделал это, создав 3 файла redis.conf, изменив следующее:

строка 98 номера портов: 6379, 6780, 6381 строка 304 расположение файлов журнала строка 433 имена dbfiledump для salves строка 479 реплика 127.0.0.1 6379

Затем я использовал следующие команды для запуска служб:

./redis-server /etc/redis/redis-master/redis.conf &

./redis-server /etc/redis/redis-slave1/redis.conf &

./redis-server /etc/redis/redis-slave2/redis.conf &

Это сработало, но потом я понял, что эта версия redis не поставляется с модулями и есть другой продукт под названием redis-stack-server, в котором уже установлены и готовы к использованию все интересующие меня модули. Итак, я скачал двоичные файлы и установил их. Я столкнулся с проблемой, потому что думал, что смогу запустить это так же, как я запустил redis-server выше. Однако после попыткиэто дало мне ошибку:

>>> 'dir "../var/db/redis-stack"' No such file or directory

Поэтому я помещаю главный файл конфигурации в указанное им место и могу запустить мастер. При попытке запустить подчиненное устройство1 и подчиненное устройство2 я не знаю, что делать, поскольку я не могу указать другой файл конфигурации для загрузки, он всегда пытается перейти в ../var/db/redis-stack. Это проблема, потому что у меня может быть только один файл с именем redis.conf, но, насколько я понимаю, реплики должны загружаться с другими файлами конфигурации.

Итак, мой вопрос: как мне добиться той же настройки, что и для redis-server, с redis-stack-server?

заранее спасибо

1 ответ

Оказывается./redis-stack-server /etc/redis/redis-master/redis.conf &действительно работает, но ошибка была не очень очевидна.

Я обнаружил, что в файле redis.conf я пытался указать место для постоянного хранения в этой строке:

      # The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir ./

Я перенес его в другое место, но, похоже, ему это не нравится, и так и должно быть../. Осознав это, я смог не только запустить сервер стека Redis из пользовательского файла конфигурации, но и узлы репликации.

Другие вопросы по тегам