Redis主从同步
环境:WIN10 Docker Desktop
部署命令:/E windows盘符E
docker run -p 6003:6379 --name redis_v3 -v /E/Docker/redis_3/conf/redis.conf:/usr/local/etc/redis/redis.conf -d --requirepass "认证密码" --privileged=true redis:v3 redis-server /etc/redis/redis.conf
docker run -p 6002:6379 --name redis_v2 -v /E/Docker/redis_2/conf/redis.conf:/usr/local/etc/redis/redis.conf -d --requirepass "认证密码" --privileged=true redis:v2 redis-server /etc/redis/redis.conf
docker run -p 6001:6379 --name redis_v1 -v /E/Docker/redis_1/conf/redis.conf:/usr/local/etc/redis/redis.conf -d --requirepass "认证密码" --privileged=true redis:v1 redis-server /etc/redis/redis.conf
1 .windows上不能添加data文件夹映射 否则从库提示 Failed load the MASTER synchronization DB from..
2. windows上手动创建redis.conf文件,否则映射出来是文件夹
3. 一定要加上 redis-server /etc/redis/redis.conf 否则修改配置文件不起作用(requirepass 密码)
4.从redis官网下载的配置文件 1)屏蔽bind 2) 把protected-mode属性设置no
错误示例
docker run -p 6003:6379 --name redis_v3 -v /E/Docker/redis_3/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /E/Docker/redis_3/data:/data -d redis:v3 --requirepass "123456"
docker run -p 6002:6379 --name redis_v2 -v /E/Docker/redis_2/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /E/Docker/redis_2/data:/data -d redis:v2 --requirepass "123456"
docker run -p 6001:6379 --name redis_v1 -v /E/Docker/redis_1/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /E/Docker/redis_1/data:/data -d redis:v1 --requirepass "123456"
主从查看 设置命令
设置主库地址 SLAVEOF 172.17.0.4 6379
查看从库 info replication
docker inspect 容器ID 查看容器IP
master库如果设置密码:
在从库redis.conf文件添加 masterauth 主库密码
SLAVEOF NO ONE 从服务器变主服务器
redis 哨兵模式
(1) 增加端口映射 docker run -v /d/docker/redis_1/conf/redis.conf:/usr/local/etc/redis/redis.conf --privileged=true -d -p 6001:6379 -p 26731:26739 --restart=always --name redis_v1 redis:v1 redis-server /usr/local/etc/redis/redis.conf 可以把sentinel.conf映射到本地 方便修改
(2)根目录创建sentinel.conf文件 ,配置如下图 执行启动命令redis-sentinel sentinel.conf

port 26371 #端口号
dir /data #路径
daemonize yes #后台运行
sentinel monitor mymaster 172.17.0.5 6379 2 #主服务器IP 和端口 2指从服务器认为主节点失效的个数 一般 从服务器个数/2 +1
sentinel auth-pass mymaster 123456789 #主服务器密码
主服务器宕机重启变为从服务器 需要重新执行redis-sentinel sentinel.conf
2021-6-24
用docker desktop开三个端口哨兵模式虽然搭建成功了 ,但是代码一直连接不上
又开始搭环境 , 三台虚拟机 172.22.37.177(master) ,172.22.46.167(slave),172.22.33.22(slave)
标红色的是sentinel.conf的配置 其余的貌似自动生成的
FreeRedis连接Demo 貌似只需要第一个参数需要加密码,后面加密码会提示错误



浙公网安备 33010602011771号