在CentOS上配置Redis的主从复制(Master-Slave Replication)可以按照以下步骤进行。以下是一个基本的指南,假设你已经安装了Redis。
如果你还没有安装Redis,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install redis
编辑主节点的Redis配置文件 /etc/redis.conf:
sudo vi /etc/redis.conf
确保以下配置项正确设置:
bind:绑定到主节点的IP地址,例如 192.168.1.100。port:Redis端口,默认是6379。requirepass:设置主节点的密码(可选但推荐)。例如:
bind 192.168.1.100
port 6379
requirepass your_master_password
保存并退出编辑器,然后重启Redis服务:
sudo systemctl restart redis
编辑从节点的Redis配置文件 /etc/redis.conf:
sudo vi /etc/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=1234,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, Master!"
redis-cli -h 192.168.1.101 -p 6379 -a your_master_password get test_key
你应该看到输出 Hello, Master!,表示数据已经成功同步。
通过以上步骤,你就成功地在CentOS上配置了Redis的主从复制。