在CentOS上设置Redis主从复制涉及几个步骤。以下是一个基本的指南:
首先,确保你已经在两台服务器(一台作为主节点,另一台作为从节点)上安装了Redis。
sudo yum install epel-release
sudo yum install redis
编辑主节点的Redis配置文件(通常位于 /etc/redis.conf
):
sudo vi /etc/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.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
连接到Redis服务器并检查是否正常运行:
redis-cli -h 192.168.1.100 -p 6379 -a your_master_password
在从节点上,使用 redis-cli
连接到Redis服务器并检查是否正常运行:
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的主从复制。