在Linux上搭建Redis主从复制(Master-Slave Replication)是一种常见的架构,用于提高Redis的性能和可用性。以下是详细的步骤:
首先,确保你已经在所有节点上安装了Redis。你可以使用包管理器来安装Redis。
sudo yum install epel-release
sudo yum install 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
编辑从节点的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
你可以通过以下命令来验证主从复制是否成功。
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=12345,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 key "value"
redis-cli -h 192.168.1.101 -p 6379 -a your_master_password get key
如果从节点返回了相同的数据,说明主从复制已经成功配置。
通过以上步骤,你就可以在Linux上成功搭建Redis的主从复制架构。