【Docker专题】Docker下Redis集群(主从+哨兵)安装配置的实现步骤
一、所有机器拉去镜像
docker pull redis
二、主从集群搭建
2.1、redis.cong 文件
2.1.1、主节点:
bind 0.0.0.0
protected-mode no
//redis配置访问密码
requirepass 123456
//主节点密码 哨兵模式下主节点宕机从新恢复变成从节点 需要密码
masterauth 123456
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
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
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
-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
# 进入容器内部
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
# 让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
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
-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
docker exec -it sentinel redis-cli -p 26379
# 查看sentinel信息
info sentinel
3.5、服务测试
- 关闭 master 节点
- 执行二、主从集群搭建的2.4校验模块,多次执行 info replication 查看信息发生的变化
- 或者监听哨兵配置的日志文件,可以实时看到其发生的变化