今天准备搭建一个 redis 集群(redis 版本 6.2.5),在这之前要先配置好哨兵模式。
但是在配置哨兵模式时出现了问题。之前没有搭建集群时(一主两从,三台虚拟机)可以顺利配置好,而搭建集群时却一直出错。
因为之前配置hadoop时用到了3台虚拟机,这次搭建redis集群懒得再开虚拟机就直接把hadoop的虚拟机拿来用。
搭建集群考虑每一台主机都是一主两从,总共三主六从。
按计划,先在一台主机上配置好,然后把配置文件同步到另外两台虚拟机中。
意外出现在同步的过程中,本来已经配置好,运行时也正常,于是我就把配置文件同步到另外两台,修改了 redis.conf 文件,但是启动运行却不正常,在redis.conf中原本是replicaof 192.168.2.10 6379,但是在redis-cli客户端中的info replication信息却显示主节点是127.0.0.1,甚至有显示自己(192.168.2.10:6379)是slave节点,而主节点是127.0.0.1:6379的奇葩现象。然后一直修改redis.conf,改来改去都没有奏效,甚至把原先可以用的那台主机也给改坏了。。。
后来发现redis.conf的最后面有自动生成的配置replicaof 127.0.0.1 6379,原来那个奇葩的现象是这么来的,于是我就把那些自动生成的配置删了,然而启动后还是原来的样子,查看配置,最后面又生成了replicaof 127.0.0.1 6379。我又把配置文件删了拿新的来改,可还是出现了问题。。。
折腾到最后,我发现sentinel.conf文件最后面也有自动生成的部分,原先我以为sentinel.conf配置文件是不需要改的,所以就没有进去看, 后来在第一次启动前把后面几行自动生成的配置删了之后再启动就可以正常运行了。
总之,第一次启动时所有的配置文件都要检查,如果有之前启动时生成的配置要删掉。