欢迎光临
我们一直在努力

【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

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 查看信息发生的变化
  • 或者监听哨兵配置的日志文件,可以实时看到其发生的变化

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。