在Ubuntu上配置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 -a your_master_password info replication
你应该看到类似以下的输出,表示从节点已连接:
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.1.101,port=6379,state=online,offset=0,lag=0
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
在主节点上进行写入操作,然后在从节点上读取,确保数据同步成功。
redis-cli -h 192.168.1.100 -p 6379 -a your_master_password set test_key "Hello, World!"
redis-cli -h 192.168.1.101 -p 6379 -a your_master_password get test_key
你应该看到输出 Hello, World!,表示数据已成功同步。
通过以上步骤,你就可以在Ubuntu上成功配置Redis的主从复制。