Edited at

sentinel.confの設定内容

More than 1 year has passed since last update.


はじめに

他の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