Redis的哨兵模式的主从关系连接不成功,但是找不到原因,就用>info replication查看了主从配置的信息
master的配置信息如下:
192.168.1.102:6380> info replication
# Replication
role:master
connected_slaves:0 ==》没有连接上任何的slaves连接上该master
master_replid:815c30c336f228220c9d2e7eacb3c1f45c250544
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
slaves的配置信息如下:
192.168.1.102:6382> info replication
# Replication
role:slave
master_host:192.168.1.102
master_port:6382 ==》连接的时自己slaves配置端口号6382,不是master的端口号6380,因此主从连接不成功。
master_link_status:down ==》这个时down,并不是up,表示主从并没有连接上
master_last_io_seconds_ago:-1
master_sync_in_progress:0
slave_repl_offset:1
master_link_down_since_seconds:1532665454
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:0e6b8db9f591f8f93e9c7800e22f8e2dc1afc44e
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
由上述查看的信息发现的从配置文件端口号配置错误导致主从连接错误,在从配置的下更改为主的端口号就可以了。
slaveof 192.168.1.102 6380
同时查看一下哨兵的配置文件里面的
sentinel monitor mymaster 192.168.1.102 6380 2
是否也配置错误,要配置成主的端口号才可以
如果出现上述情况,查看日志的时候会发先报下面错误,如果出现可以按照上面的方式进行检查并进行修改
Non blocking connect for SYNC fired the event.
* Master replied to PING, replication can continue...
* Partial resynchronization not possible (no cached master)
* Master is currently unable to PSYNC but should be in the future: -NOMASTERLINK Can't SYNC while not connected with my master