在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 -h 192.168.1.100 -p 6379
info replication
你应该看到类似以下的输出,表示从节点已经连接:
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.1.101,port=6379,state=online,offset=1234,lag=0
redis-cli -h 192.168.1.101 -p 6379
info replication
你应该看到类似以下的输出,表示从节点已经连接到主节点:
# Replication
role:slave
master_host:192.168.1.100
master_port:6379
master_link_status:up
你可以通过以下命令来测试读写分离:
redis-cli -h 192.168.1.100 -p 6379 set test_key "Hello, Master!"
redis-cli -h 192.168.1.101 -p 6379 get test_key
如果从节点返回了 Hello, Master!,说明读写分离配置成功。
通过以上步骤,你应该能够在Debian上成功设置Redis主从复制。