在Debian系统上配置Redis主从复制涉及几个步骤。以下是一个基本的指南:
首先,确保你已经在两台服务器上安装了Redis。你可以使用以下命令来安装:
sudo apt update
sudo apt install redis-server
编辑主服务器上的Redis配置文件 /etc/redis/redis.conf
。
sudo nano /etc/redis/redis.conf
找到并修改以下配置项:
bind
:绑定主服务器的IP地址。port
:Redis端口,默认是6379。requirepass
:设置一个强密码。例如:
bind 192.168.1.100
port 6379
requirepass your_master_password
保存并退出编辑器,然后重启Redis服务:
sudo systemctl restart redis-server
编辑从服务器上的Redis配置文件 /etc/redis/redis.conf
。
sudo nano /etc/redis/redis.conf
找到并修改以下配置项:
slaveof
:指定主服务器的IP地址和端口。masterauth
:设置与主服务器相同的密码。例如:
slaveof 192.168.1.100 6379
masterauth your_master_password
保存并退出编辑器,然后重启Redis服务:
sudo systemctl restart redis-server
在主服务器上,使用 redis-cli
连接到Redis并设置一个键值对:
redis-cli -h 192.168.1.100 -p 6379 -a your_master_password
set mykey "Hello, World!"
在从服务器上,使用 redis-cli
连接到Redis并检查键值对是否同步:
redis-cli -h 192.168.1.101 -p 6379 -a your_master_password
get mykey
如果输出是 Hello, World!
,则说明主从复制配置成功。
如果你需要自动故障转移,可以考虑使用Redis Sentinel。以下是基本步骤:
在主服务器和从服务器上安装Redis Sentinel:
sudo apt install redis-sentinel
编辑Sentinel配置文件 /etc/redis/sentinel.conf
。
sudo nano /etc/redis/sentinel.conf
添加以下配置:
sentinel monitor mymaster 192.168.1.100 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
保存并退出编辑器,然后启动Sentinel服务:
sudo systemctl start redis-sentinel
通过这些步骤,你应该能够在Debian系统上成功配置Redis的主从复制。