我有两个哨兵和两个红星服务器。我想使用redis服务器的主机名来配置哨兵。目前,我在主机文件中定义了这样的每个主机名。
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
...但我想保留主机名。我怎样才能做到这一点?
发布于 2015-09-14 18:56:23
recreating需要动态重写其配置文件,重新创建monitor命令。它没有在生成的命令中插入主机名而不是IP地址的规定。这也是哨兵文档在此位置明确规定IP地址的原因。
因此,您所要求的是不可能与目前版本的哨兵。我建议您重新评估使用主机名进行配置的要求。
发布于 2019-05-21 10:09:43
请评论以下或以上的IP地址。
redis-sentinel用于获取集群节点的地址,并在状态更改后更新redis配置。最好的机会是在注释中写下带有ip的主机名。
发布于 2015-09-14 18:17:29
也许您可以尝试将不可变标志设置为配置文件。
chattr +i configurationfile不能修改具有“i”属性的文件:不能删除或重命名该文件,不能创建指向该文件的链接,也不能将数据写入文件。只有超级用户或拥有CAP_LINUX_IMMUTABLE功能的进程才能设置或清除该属性。
这样,您将编写-保护您的配置文件。
https://serverfault.com/questions/717968
复制相似问题