搭建一主二从的Redis服务器
环境搭建
- 在同一台虚拟机上配置一主二从Redis服务器,由于单台机器,同一个端口只允许一个进程占用,
所以需要修改其他两台Redis的端口。 - 在/usr/local/myredis文件夹下,新创建三个redis的配置文件,分别为redis6379.conf、
redis6380.conf、redis6381.conf,由文件名可知,redis的端口号分别为6379、6380、6381。
创建出3个空文件,redis.conf是原有的配置文件。
3. 在三个配置文件写入内容
可以通过include /usr/local/myredis/redis.conf将公共基础配置直接引入文件。
将include /usr/local/myredis/redis.conf统一添加到这三个文件中
在各个文件中,添加对应的pidfile、port、dbfilename
如:
redis6379.conf中添加
pidfile /var/run/redis_6379.pid
port 6379
dbfilename dump6379.rdb
redis6380.conf中添加
pidfile /var/run/redis_6380.pid
port 6380
dbfilename dump6380.rdb
redis6381.conf中添加
pidfile /var/run/redis_6381.pid
port 6381
dbfilename dump6381.rdb
- 通过不同的redis.conf文件,分别启动3个redis服务
./redis-server /usr/local/myredis/redis6379.conf
./redis-server /usr/local/myredis/redis6380.conf
./redis-server /usr/local/myredis/redis6381.conf
通过ps -ef | grep redis命令查看redis服务,3个服务均已启动
- 在redis客户端中,通过info replication命令可以查看Redis服务器当前状态
可以给redis-cli命令添加-p参数,来指定链接哪个服务器
./redis-cli -p 6379
./redis-cli -p 6380
./redis-cli -p 6381
所有的服务器目前都是master
6. 配从(6380、6381)不配主(6379)
slaveof ip port成为某个实例的从服务器。
在从机6380和6381上执行:slaveof 127.0.0.1 6379
在主库(6379)中再次执行info replication
有两个从库,分别为6380和6381。 7. 在主库(6379)中写数据,可以在从库(6380、6381)中读取到。
注意:
在从库中进行写操作,会报错。
由于该主从复制在同一台虚拟机上搭建,所以需要修改端口号,如果在多台服务器上搭建主从复
制,则需要修改相对应的ip。
如果在多台服务器上搭建主从复制,一定要开放远程链接。