主从复制实操
在test目录下新建配置进行练习
1、mkdir test
创建test目录
2、cd /etc/redis/
-rw-r--r--. 1 root root 61873 Mar 24 19:38 6379.conf
3、 启动3个实例,测试
4、cp /etc/redis/* ./
copy 配置到 test目录,作为练习
5、修改 conf 文件,使日志在 控制台上显示
daemonize no
appendonly no
注释掉 logfile /var/log/redis_6379.log
没有 AOF,前台阻塞运行
[root@node01 test]# cd /var/lib/redis/
[root@node01 redis]# ll
total 12
drwxr-xr-x. 2 root root 4096 Mar 25 02:02 6379
drwxr-xr-x. 2 root root 4096 Mar 26 04:30 6380
drwxr-xr-x. 2 root root 4096 Mar 26 04:32 6381
rm -fr ./* 清空文件
5、启动
redis-server ~/teset/6379.conf
redis-server ~/teset/6380.conf
redis-server ~/teset/6381.conf
redis-cli -p 6379
6、 执行主从 命令
replicaof 127.0.0.1 6379
or
redis-server ~/teset/6381.conf --replicaof 127.0.0.1 6379
机器重新后,重启后 同步情况:
>不开启 AOF的情况,会 增量 copy
> aof 模式,全量同步
sentinel 实操:
1、~/test/目录下 新加 配置
26379.conf
port 26379
sentinel monitor mymaster 127.0.0.1 6379 2
26380.conf
port 26380
sentinel monitor mymaster 127.0.0.1 6379 2
26381.conf
port 26381
sentinel monitor mymaster 127.0.0.1 6379 2
2、启动 主从服务器
redis-service ./6379.conf
redis-server ./6380.conf --replicaof 120.0.0.1 6379
redis-server ./6381.conf --replicaof 120.0.0.1 6379
3、 启动 sentinel
redis-server ./26379.conf --sentine
能看到 所有 sentinel 和 从节点的信息。 //因为 Sentinel 可以通过发布与订阅功能来自动发现正在监视相同主服务器的其他 Sentinel , 这一功能是通过向频道 sentinel:hello 发送信息来实现的,同理 从节点信息 也会通过 主节点 获取到
1369:X 26 Mar 2020 06:50:39.948 # +monitor master mymaster 127.0.0.1 6379 quorum 2
1369:X 26 Mar 2020 06:52:00.249 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 127.0.0.1 6379
1369:X 26 Mar 2020 06:52:20.383 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6379
1369:X 26 Mar 2020 06:52:58.551 * +sentinel sentinel 45a89662ccfd2d6e84802de84b929b0378ee210b 127.0.0.1 26380 @ mymaster 127.0.0.1 6379
5、主节点 挂了后
sentinel 会重新选主
b929b0378ee210b 127.0.0.1 26380 @ mymaster 127.0.0.1 6379
1369:X 26 Mar 2020 06:54:31.811 # +switch-master mymaster 127.0.0.1 6379 127.0.0.1 6381
1369:X 26 Mar 2020 06:54:31.812 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6381
1369:X 26 Mar 2020 06:54:31.812 * +slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6381
主节点启动后,会成为 slave
1383:X 26 Mar 2020 06:54:32.891 # +switch-master mymaster 127.0.0.1 6379 127.0.0.1 6381
1383:X 26 Mar 2020 06:54:32.895 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6381
1383:X 26 Mar 2020 06:54:32.895 * +slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6381
1383:X 26 Mar 2020 06:55:02.945 # +sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6381
1383:X 26 Mar 2020 06:58:48.079 # -sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6381
1383:X 26 Mar 2020 06:58:58.028 * +convert-to-slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6381
感悟
自己以前在学习过程中(看书or视频),感觉redis实操会比较麻烦,不向 看spring,直接打开idea就可以。但理论的学习和实操还是会有些不同, 个中滋味只有自己知道,这也算强行让自己改变的开始。