在我的slave redis服务器上,执行'slaveof master_hostname 7804'后,它会不断记录以下消息:
Connecting to MASTER master_hostname:7804
Unable to connect to MASTER: Invalid argument
在托管我的slave redis服务器的Linux服务器上,我可以毫无问题地连接到我的主redis服务器:
$ redis-cli -h master_hostname -p 7804
master上的'info'输出:
# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
奴隶上的'info'输出:
# Replication
role:slave
master_host:master_hostname
master_port:7804
master_link_status:down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
slave_repl_offset:1
master_link_down_since_seconds:1428997735
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
两台redis服务器均为3.0.0。如果我使用主redis服务器的IP而不是其主机名,我遇到了同样的问题。
有什么想法吗?
答案 0 :(得分:3)
我在这里遇到完全相同的问题。我在两台机器(主机和从机)中使用Redis 3.0.0。
我已经尝试了sysctl vm.overcommit_memory=1
,但仍然没有工作。
就我而言,我使用的是CentOS 6.6。
编辑:
我找到了解决方案!在 slave 配置中,如果您已配置bind 127.0.0.1
,则需要更改为bind 192.168.1.54
(其中192.168.1.54是从属IP )。请记住,master位于同一网络192.168.1。*。
答案 1 :(得分:3)
我在MASTER-SLAVE设置中遇到了与Redis 3相同的问题。
我将bind 127.0.0.1 10.234.1.10
更改为bind 10.234.1.10 127.0.0.1
并且有效!
所以,看起来," 127.0.0.1"不能在列表中排在第一位。