redis的主从复制

1、创建一个 /rediscluster目录

[root@master ~]# mkdir /rediscluster

2、将/etc/redis.conf文件复制到 /rediscluster目录下,

注:因为主从需要三个配置文件,分别给文件改名为redis-6379.conf、redis-6380.conf、redis-6381.conf

 cp /etc/redis.conf /rediscluster/redis.conf


[root@master ~]# ll /rediscluster/
-rw-r--r--. 1 root root 106573 Jun  8 06:22 redis-6379.conf
-rw-r--r--. 1 root root 106708 Jun  8 06:05 redis-6380.conf
-rw-r--r--. 1 root root 106733 Jun  8 06:05 redis-6381.conf

3、分别修改文件中的配置

对redis-6379.conf配置文件的修改

daemonize yes  --- 开启后台运行服务

protected-mode no --- 关闭保护模式,否则可能会拒绝客户端的连接

port 6379 --- 修改端口号

pidfile /var/run/redis_6379.pid --- 修改Pid文件名

dbfilename dump_6379.rdb --- 修改持久化文件名

dir "/rediscluster"




对redis-6380.conf配置文件的修改

daemonize yes  --- 开启后台运行服务

protected-mode no --- 关闭保护模式,否则可能会拒绝客户端的连接

port 6380 --- 修改端口号

pidfile /var/run/redis_6380.pid --- 修改Pid文件名

dbfilename dump_6380.rdb --- 修改持久化文件名

dir "/rediscluster"





对redis-6381.conf配置文件的修改

daemonize yes  --- 开启后台运行服务

protected-mode no --- 关闭保护模式,否则可能会拒绝客户端的连接

port 6381 --- 修改端口号

pidfile /var/run/redis_6381.pid --- 修改Pid文件名

dbfilename dump_6381.rdb --- 修改持久化文件名

dir "/rediscluster"

4、启动redis服务(配置文件的路径,建议写绝对路径),并查看

redis-server redis-6379.conf
redis-server redis-6380.conf
redis-server redis-6381.conf



[root@master ~]# ps -ef | grep redis  ---  查看redis的进程
root       34766       1  0 06:00 ?        00:00:03 redis-server *:6380
root       34783       1  0 06:01 ?        00:00:04 redis-server *:6381
root       34892       1  0 06:22 ?        00:00:03 redis-server *:6379

5、三个窗口分别起不同端口的redis服务

[root@master ~]# redis-cli -p 6379
127.0.0.1:6379>

[root@master ~]# redis-cli -p 6380
127.0.0.1:6380>

[root@master ~]# redis-cli -p 6381
127.0.0.1:6381>

6、查看此时redis服务的角色

此时,三台主机的角色都为主

[root@master ~]# redis-cli -p 6379
127.0.0.1:6379>  info replication
# Replication
role:master   -----  角色信息
connected_slaves:0
master_failover_state:no-failover
master_replid:7e3a56815621f4fd63ca60e771ddf9dc6ab360d5
master_replid2:6f4ae708461891737f9358c1924e5fe222d9e993
master_repl_offset:1874
second_repl_offset:1875
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1875
repl_backlog_histlen:0

7、若我们希望6379为主,我们需要在其他两台上面运行slaveof 127.0.0.1 6379此命令,此时查看6380和6381的状态就是从

[root@master ~]# redis-cli -p 6380
127.0.0.1:6380> slaveof 127.0.0.1 6379
OK
127.0.0.1:6380>  info replication
# Replication
role:slave   ----- 角色信息已改变
master_host:127.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_read_repl_offset:1888
slave_repl_offset:1888
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:7e3a56815621f4fd63ca60e771ddf9dc6ab360d5
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1888
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1875
repl_backlog_histlen:14

8、验证主从

#在主机上定义
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK



#在从机上面进行查看
127.0.0.1:6380> get k1
"v1"
127.0.0.1:6380>


127.0.0.1:6381> get k2
"v2"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值