Docker Redis集群配置
JAVA·D·WangJing 人气:0一、所有机器拉去镜像
docker pull redis
二、主从集群搭建
2.1、redis.cong 文件
2.1.1、主节点:
bind 0.0.0.0 protected-mode no //redis配置访问密码 requirepass 123456 //主节点密码 哨兵模式下主节点宕机从新恢复变成从节点 需要密码 masterauth 123456
2.1.2、从节点:
bind 0.0.0.0 protected-mode no requirepass 123456 //主节点访问密码 masterauth 123456 //主节点信息 slaveof *.*.*.* 6379
2.2、创建本地映射文件夹,并将 redis.conf 放到 /usr/local/redis/conf 文件夹内
# /usr/local/redis cd /usr/locar/redis mkdir conf mkdir data
2.3、启动redis
docker run -p 6379:6379 --name redis \ -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf \ -v /usr/local/redis/data:/data \ -d redis redis-server /etc/redis/redis.conf --appendonly yes
2.4、校验redis主从集群安装是否成功
### 在主节点查看 # 进入容器内部 docker exec -it redis bash # 进入redis redis-cli # 校验密码 auth 123456 # 查看集群信息 info replication
三、开启哨兵模式
3.1、sentinel.conf 配置文件
#### 根据需要修改一下内容 # 让sentinel服务后台运行(docker的话需要设置为no,非docker运行设置为yes, 因为docker有个-d属性就是让在后台运行的) daemonize no # 修改日志文件的路径 logfile "/data/sentinel.log" # 修改监控的主redis服务器 # 最后一个2表示,两台机器判定主被动下线后,就进行failover(故障转移) sentinel monitor mymaster *.*.*.*(公网ip) 6390 2 #超过5秒master还没有连接上,则认为master已经停止 sentinel down-after-milliseconds mymaster 5000 sentinel auth-pass mymaster 123456
3.2、创建本地映射文件夹,并将 sentinel.conf 放到 /usr/local/redis-sentinel/conf 文件夹内
# /usr/local/redis cd /usr/locar/redis-sentinel mkdir conf mkdir data
3.3、启动 redis-sentinel 进程
docker run -d --name sentinel -p 26379:26379 \ -v /usr/local/redis-sentinel/conf/sentinel.conf:/etc/sentinel.conf \ -v /usr/local/redis-sentinel/data:/data redis redis-sentinel /etc/sentinel.conf
3.4、进入 redis-sentinel 容器内查看
# 进入sentinel节点 docker exec -it sentinel redis-cli -p 26379 # 查看sentinel信息 info sentinel
3.5、服务测试
- 关闭 master 节点
- 执行二、主从集群搭建的2.4校验模块,多次执行 info replication 查看信息发生的变化
- 或者监听哨兵配置的日志文件,可以实时看到其发生的变化
加载全部内容