Redis
CentOS
CentOS6.x
Redis-Sentinel

sentinel.confの設定内容

はじめに

他のRedis構築に関するページは以下をご参考ください。
Redis構築のまとめ

sentinel.conf内の設定がわからなくなることがあったのでまとめました。
編集・設定した項目だけ記載しております。他の項目まとめているところがあれば教えてください。

環境

CentOS 6.8
Redis 3.2.5(当時の安定バージョン)

設定

※今回の設定では${REDISPORT}は26379
sentinel形式の時のみ使用
元ファイルはredis-3.2.5/sentinel.conf
構築についてはRedis Sentinel構築を参照

項目 設定例 内容 備考
bind bindするネットワークのインターフェースを限定できる コメントアウト
protected-mode no yesで他端末からの接続を制限する
設定しないとデフォルトで有効になる
自動フェールオーバーしたい場合、noを設定
daemonize yes デーモン化するときはyes
port 26379 クライアント向けの開放ポート
redis-sentinelのデフォルトポード番号
pidfile sentinel_26379.pid デーモン化した時のPID
dir /var/run/redis dbfilenameのファイルや、redisが使う一時ファイルなどを保存する領域 ファイル名でなくディレクトリ名
logfile /var/log/redis/26379.log ログファイル名
sentinel monitor mymaster 192.168.56.111 6379 2 [mastername] [IPアドレス] [ポート番号] [sentinel定足数]
を表す。masternameは適当でOK(他の設定でも統一すること)
IPアドレスはフェールオーバーする度に書き換えられる
sentinel定足数は何台がマスターのダウンを検知したらフェールオーバーするかを設定している
(左だと2台検知したらフェールオーバーを行う)
sentinel down-after-milliseconds mymaster 5000 [mastername] [時間(ms)]
Master/Slaveのダウン検知後、状態がSDOWN(subjectively down)に移行するまでの時間
短すぎるとうまく検知できない
可能性がある
sentinel failover-timeout mymaster 900000 フェールオーバー処理のタイムアウト(ms)
sentinel parallel-syncs mymaster 1 SlaveをMasterに昇格させた後、いくつのSlaveと同期させるか
sentinel側で自動設定してくれる項目
sentinel myid
sentinel leader-epoch
sentinel known-slave
sentinel known-sentinel
sentinel current-epoch
sentinel config-epoch