Локально у меня работает redis-sentinel со следующей информацией
redis-cli -p 26379
127.0.0.1:26379> info
Сервер
redis_version:3.0.4
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:ee774adfcab9032f
redis_mode:sentinel
os:Darwin 16.7.0 x86_64
arch_bits:64
multiplexing_api:kqueue
gcc_version:4.2.1
process_id:53388
run_id:685daaf76ce1bf378011d851afa7742d6e2da10b
tcp_port:26379
uptime_in_seconds:10
uptime_in_days:0
hz:15
lru_clock:15224205
config_file:/usr/local/opt/redis/sentinel.conf
Страж
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
master0:name=mymaster,
status=odown,
address=127.0.0.1:6666,
slaves=2,
sentinels=1
Это мой файл sentinel.conf
Я использую версию 4.0.3 redis gem
в своем приложении rails
Когда я открываю драгоценный камень для отладки и ставлю часовых
def sentinel_detect
puts "#{@sentinels} -- Sentinels"
@sentinels.each do |sentinel|
client = Client.new(@options.merge({
:host => sentinel[:host],
:port => sentinel[:port],
:reconnect_attempts => 0,
}))
Я получаю [{:host=>"127.0.0.1", :port=>26379, :url=>"redis://mymaster", :role=>:master}]
, что я считаю правильным на основании этой документации
Когда я запускаю сервер Rails, я получаю No sentinels available. (Redis::CannotConnectError)
, хотя у меня работает дозорный. Что мне не хватает? Я предполагаю некоторую конфигурацию? Заранее спасибо