Hostname
Redis Sentinel 配置和主機名
我有 2 個哨兵和 2 個 redis 伺服器。我想使用 redis 伺服器的主機名配置哨兵。目前,我像這樣在 hosts 文件中定義每個主機名。
10.22.20.156 clsupport1 10.22.20.157 clsupport2
我嘗試像這樣配置哨兵。
daemonize yes pidfile "/var/run/redis_sentinel_26379.pid" loglevel notice logfile "/var/log/redis_sentinel_26379.log" port 26379 dir "/tmp" sentinel monitor redis-prod clsupport2 6379 1 sentinel config-epoch redis-prod 3 sentinel leader-epoch redis-prod 4 sentinel known-slave redis-prod clsupport1 6379
在我啟動我的哨兵後,它會自動將主機名替換為 IP 地址。重啟後。
daemonize yes pidfile "/var/run/redis_sentinel_26379.pid" loglevel notice logfile "/var/log/redis_sentinel_26379.log" port 26379 dir "/tmp" sentinel monitor redis-prod 10.22.20.157 6379 1 sentinel config-epoch redis-prod 3 sentinel leader-epoch redis-prod 4 sentinel known-slave redis-prod 10.22.20.156 6379 # Generated by CONFIG REWRITE ...
但我想保留主機名。我怎樣才能做到這一點?
Redis Sentinel 需要動態重寫其配置文件,重新創建
monitor
命令。它沒有規定在它生成的命令中插入主機名而不是 IP 地址。這也是 Sentinel 文件在此位置明確規定 IP 地址的原因。因此,目前版本的 Sentinel 無法滿足您的要求。我建議您重新評估使用主機名進行配置的要求。
請在 IP 地址下方或上方發表評論。
redis-sentinel 旨在獲取集群節點的地址並在狀態更改後更新 redis 配置。您最好的機會是在評論中寫下帶有 ip 的主機名