一、快速部署第二台机器

[root@db2 ~]# rsync -avz 10.0.0.51:/opt/redis* /opt/
[root@db2 ~]# rsync -avz 10.0.0.51:/usr/local/bin/redis* /usr/local/bin/
[root@db2 ~]# rsync -avz 10.0.0.51:/usr/lib/systemd/system/redis.service /usr/lib/systemd/system/
[root@db2 ~]# sed -i 's#51#52#g' /opt/redis_6379/conf/redis_6379.conf
[root@db2 ~]# mkdir -p /data/redis_6379
[root@db2 ~]# groupadd redis -g 1000
[root@db2 ~]# useradd redis -u 1000 -g 1000 -M -s /sbin/nologin
[root@db2 ~]# chown -R redis:redis /opt/redis*
[root@db2 ~]# chown -R redis:redis /data/redis*
[root@db2 ~]# systemctl daemon-reload
[root@db2 ~]# systemctl start redis

二、db01输入测试命令

[root@db1 ~]# for i in {1..10000};do redis-cli set k$i v$i;echo v$i;done

三、配置主从复制

[root@db2 ~]# redis-cli -h 10.0.0.52 SLAVEOF 10.0.0.51 6379
OK

四、写进配置文件永久生效

SLAVEOF 10.0.0.51 6379

五、查看复制进度

127.0.0.1:6379> info replication
# Replication
role:slave
master_host:10.0.0.51
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:349927
slave_priority:0
slave_read_only:1
connected_slaves:0
master_replid:b401d8db1d7a9bb8ce92028d93b407e65247f18c
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:349927
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1525
repl_backlog_histlen:348403

六、取消复制

127.0.0.1:6379> SLAVEOF no one
OK

七、主从复制注意

1)从节点只读不可写

2)从节点不会自动故障转移,他会一直尝试同步主节点,并依然不可写

3)主从复制故障转移需要介入的地方:

修改代码指向新主的ip

从节点需要执行slaveof no one

4)从节点同步时会清空自己的数据,如果同步对象写错就清空了

5)从库也可以正常的rdb持久化

Categories: 数据库

0 Comments

发表评论

Avatar placeholder

邮箱地址不会被公开。 必填项已用*标注