1. 本示例基于Centos 7, 三台主机的ip分别为:
主机一:10.21.14.164
主机二:10.21.14.165
主机三:10.21.14.166
2. 主机上建立挂载目录和redis配置文件:
cd /app
mkdir -p redis/data
cd redis/data/
touch redis.conf
vi redis.conf
3. 主机一上的redis.conf配置信息如下:
logfile "redis.log"
port 6379
dir /data
appendonly yes
appendfilename appendonly.aof
4. 主机二、三上也同样建立挂载目录和redis配置文件,其内容稍有不同:
logfile "redis.log"
port 6379
dir /data
appendonly yes
appendfilename appendonly.aof
slaveof 10.21.14.164 6379
配置说明:
dir:工作目录
logfile:日志文件在工作目录下
slaveof:指明为主机一的从机
appendonly:是否需要持久化,yes为需要
5. 三台主机上都启动容器:
cd /app/redis/data
docker run -p 6379:6379 -v /app/redis/data/:/data --name redis -d redis:latest redis-server redis.conf
命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
-v /app/redis/data:/data : 将主机中目录/app/redis/data挂载到容器的/data
--name redis: 给出容器名称
-d: 后台运行
redis:latest: 镜像名称
redis-server redis.conf: redis的启动命令,指定配置文件
6. 主机上建立哨兵目录和其配置文件:
cd /app/redis/data
touch sentinel.conf
vi sentinel.conf
7. 三台主机上sentinel.conf的内容相同,如下:
logfile"sentinel.log"
sentinel monitor mymaster 10.21.14.164 6379 1
配置说明:
logfile "sentinel.log":输出日志目录
sentinel monitor mymaster 10.21.14.164 6379 1:哨兵监控的主服务器名称为mymaster,ip为10.21.14.164,端口为6379,将这个主服务器标记为失效至少需要2个哨兵进程的同意
8. 三台主机上启动哨兵模式:
docker run -p 26379:26379 -v /app/redis/data/:/data --name sentinel -d redis:latest redis-sentinel sentinel.conf
命令说明:
-p 26379:26379 : 将容器的26379端口映射到主机的26379端口
-v /app/redis/data:/data : 将主机中目录/app/redis/data挂载到容器的/data
--name sentinel: 给出容器名称
-d: 后台运行
redis:latest: 镜像名称
redis-sentinel sentinel.conf: sentinel的启动命令,指定配置文件
经过这一步后,哨兵模式已经建立起来。可通过观察日志查看启动情况
网友评论