在Debian系统上配置Redis的主从切换,可以按照以下步骤进行:
首先,确保你已经在Debian系统上安装了Redis。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install redis-server
编辑主节点的Redis配置文件 /etc/redis/redis.conf:
sudo nano /etc/redis/redis.conf
确保以下配置项正确设置:
bind 127.0.0.1 # 绑定到本地地址,如果需要远程访问,请注释掉
port 6379 # 端口号
requirepass your_master_password # 设置主节点密码
保存并退出编辑器,然后重启Redis服务:
sudo systemctl restart redis-server
编辑从节点的Redis配置文件 /etc/redis/redis.conf:
sudo nano /etc/redis/redis.conf
确保以下配置项正确设置:
bind 127.0.0.1 # 绑定到本地地址,如果需要远程访问,请注释掉
port 6380 # 端口号,确保与主节点不同
slaveof your_master_ip 6379 # 设置主节点的IP地址和端口号
masterauth your_master_password # 设置主节点密码
保存并退出编辑器,然后重启Redis服务:
sudo systemctl restart redis-server
在主节点上,使用 redis-cli 连接到Redis并设置一个键值对:
redis-cli -h 127.0.0.1 -p 6379 -a your_master_password
set mykey myvalue
在从节点上,使用 redis-cli 连接到Redis并获取该键值对:
redis-cli -h 127.0.0.1 -p 6380 -a your_master_password
get mykey
如果从节点能够正确返回 myvalue,则说明主从配置成功。
为了实现自动故障转移,可以使用Redis Sentinel。以下是基本步骤:
sudo apt install redis-sentinel
创建一个Sentinel配置文件 /etc/redis/sentinel.conf:
sudo nano /etc/redis/sentinel.conf
添加以下内容:
sentinel monitor mymaster your_master_ip 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
保存并退出编辑器。
sudo redis-sentinel /etc/redis/sentinel.conf
在另一个终端中,使用 redis-cli 连接到Sentinel并查看状态:
redis-cli -p 26379
info replication
如果一切正常,你应该能够看到Sentinel监控的主节点信息。
通过以上步骤,你可以在Debian系统上配置Redis的主从切换,并可选地使用Sentinel实现自动故障转移。