看了几遍不重要,重要的是东西是不是转化成自己的。
不要为了做笔记而做笔记
3主3从redis集群配置
关闭防火墙+启动docker后台服务
systemctl start docker
新建6docker容器实例
docker run -d --name redis-node-1
--net host
--privileged=true
-v /data/redis/share/redis-node-1:/data
redis 6.0.8
--cluster-enabled yes
--appendonly yes
--port 6381
查看是否启动6台
docker ps
开始操作
进入容器
docker exec -it redis-node-1 /bin/bash
构建主从关系
--cluster-replicas 1 为每个master创建一个slave节点
命令
redis-cli --cluster create 192.168.111.167:6382..... --cluster-replicas 1
…
分配成功
三主三从
6381作为切入点,查看集群状态
redis-cli -p 6381
cluster info
cluster nodes
每次的分配是随机的
48 集群读写error说明
数据读写存储
启动6机构成的集群并通过exec进入
docker exec -it redis-node-1 /bin/bash
redis-cli -p 6381
set k1 v1
报错 MOVED 12706:
应该连接集群 不是机器
防止路由失效加参数-c并新增两个key
不能用单机版命令
docker ps
docker exec -it redis-node-1 /bin/bash
redis -cli -p 6381 -c
flushall
效果
50 查看集群信息
redis-cli --cluster check 192.168.111.167:6381
51 主从容错切换迁移
1号宕机 4上位
退出1
exit
docker stop redis-node-1
docker ps
等了一会,从机上位。
docker exec -it redis-node-2 bash
redis-cli -p 6382 -c
cluster nodes
6381回来了
docker start redis-node-1
docker ps
cluster nodes
当小弟
关闭6384
docker stop redis-node-4
cluster nodes
重启6384
此时84已经变成从机
docker start redis-node-4
cluster nodes
查看集群状态
redis-cli --cluster check 自己ip:6381