在Ubuntu上配置Redis的主从复制可以通过以下步骤完成。假设你已经安装了Redis,并且有一个主节点和一个或多个从节点。
编辑主节点的Redis配置文件:
打开主节点的Redis配置文件,通常位于 /etc/redis/redis.conf
。
sudo nano /etc/redis/redis.conf
确保主节点配置正确: 确保以下配置项存在并且正确:
bind 127.0.0.1 # 绑定到本地地址,如果需要远程访问可以注释掉
port 6379 # Redis端口
requirepass your_master_password # 设置主节点密码
重启主节点Redis服务: 保存并关闭配置文件后,重启Redis服务以应用更改。
sudo systemctl restart redis-server
编辑从节点的Redis配置文件:
打开从节点的Redis配置文件,通常位于 /etc/redis/redis.conf
。
sudo nano /etc/redis/redis.conf
配置从节点连接到主节点:
在配置文件中添加以下行,替换 master_ip
为主节点的IP地址,master_port
为主节点的端口(默认是6379),master_password
为主节点的密码。
slaveof master_ip master_port
masterauth master_password
例如:
slaveof 192.168.1.100 6379
masterauth your_master_password
重启从节点Redis服务: 保存并关闭配置文件后,重启Redis服务以应用更改。
sudo systemctl restart redis-server
检查主节点状态:
使用 redis-cli
连接到主节点并检查其状态。
redis-cli -h 192.168.1.100 -p 6379 -a your_master_password info replication
你应该看到类似以下的输出,表示主节点正在运行并且没有从节点连接:
# Replication
role:master
connected_slaves:0
master_replid:your_master_replid
master_replid2:your_master_replid2
master_repl_offset:your_master_repl_offset
second_repl_offset:your_second_repl_offset
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_histlen:0
检查从节点状态:
使用 redis-cli
连接到从节点并检查其状态。
redis-cli -h 192.168.1.101 -p 6379 -a your_master_password info replication
你应该看到类似以下的输出,表示从节点正在连接到主节点:
# Replication
role:slave
master_host:192.168.1.100
master_port:6379
master_link_status:up
master_link_down_since_seconds:0
master_replid:your_master_replid
master_replid2:your_master_replid2
master_repl_offset:your_master_repl_offset
second_repl_offset:your_second_repl_offset
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_histlen:100
通过以上步骤,你应该成功配置了Redis的主从复制。如果有任何问题,请检查日志文件 /var/log/redis/redis-server.log
以获取更多信息。