Hostname

Redis Sentinel 配置和主機名

  • May 21, 2019

我有 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 的主機名

引用自:https://serverfault.com/questions/717968