首页 > 数据库 >docker 安装redis 6.0.8哨兵集群(一主两从三哨兵)

docker 安装redis 6.0.8哨兵集群(一主两从三哨兵)

时间:2023-07-11 23:57:05浏览次数:47  
标签:-- redis 哨兵 conf 6.0 sentinel docker data

准备三台主机并且安装了docker

192.168.31.132 
192.168.31.134 
192.168.31.144

linux 版redis6.0.8 下载

下载地址:https://download.redis.io/releases/

干啥用:拷贝出redis.conf文件,在此文件里配置主从关系,最好不要使用不同版本的配置文件,防止出现配置文件的参数不兼容问题

安装步骤

在三台主机上分别建立目录/home/docker/redis,并且把redis.conf文件都复制过去,132作为master,134以及144作为salve。
在132修改配置./redis_master.conf文件,134以及144的配置文件分别为./redis_slave1.conf、./redis_slave/redis_slave2.conf

  • redis_master.conf文件修改
# 注释这一行,表示Redis可以接受任意ip的连接
# bind 127.0.0.1

# 关闭保护模式
protected-mode no

# 让redis服务后台运行
daemonize no
# 设定主库的密码,用于认证,如果主库开启了requirepass选项这里就必须填相应的密码
masterauth 123456
# 设定密码(可选,如果这里开启了密码要求,slave的配置里就要加这个密码. 只是练习配置,就不使用密码认证了)
requirepass 123456

# 配置日志路径,为了便于排查问题,指定redis的日志文件目录
logfile "/data/redis.log"
  • redis_slave.conf 文件修改
# 注释这一行,表示Redis可以接受任意ip的连接
# bind 127.0.0.1

# 关闭保护模式
protected-mode no

# 让redis服务后台运行
daemonize no

# 设定密码(可选,如果这里开启了密码要求,slave的配置里就要加这个密码123456)
requirepass 123456

# 设定主库的密码,用于认证,如果主库开启了requirepass选项这里就必须填相应的密码
masterauth 123456

# 设定master的IP和端口号,redis配置文件中的默认端口号是6379
replicaof 198.168.31.132 6379

# 配置日志路径,为了便于排查问题,指定redis的日志文件目录
logfile "/data/redis.log"
  • master配置文件修改之后,执行docker 安装命令
docker network create --driver bridge redis-net

docker run -it --name redis-master  --network=redis-net -p 6379:6379 -v /home/docker/redis/redis_master.conf:/usr/local/redis/redis.conf  -v /home/docker/redis:/data -d redis:6.0.8 redis-server /usr/local/redis/redis.conf

docker run -it --network=redis-net -d -p 6379:6379 -p 16379:16379 -v /home/docker/redis/redis_slave1.conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data   --name redis-slave1 redis:6.0.8 redis-server /etc/redis/redis.conf

docker run -it --network=redis-net -d -p 6379:6379 -p 16379:16379 -v /home/docker/redis/redis_slave/redis_slave2.conf:/etc/redis/redis.conf -v /home/docker/redis/redis_slave/data:/data   --name redis-slave2 redis:6.0.8 redis-server /etc/redis/redis.conf


  • 容器启动成功之后,进入容器查看redis信息,
docker ps -a
docker exec -it 容器id /bin/bash
redis-cli
auth 123456
info
  • 验证一主二从是否搭建成功,使用info命令查看,出现如下信息

哨兵集群准备

在redis6.0.8里拷贝出sentinel.conf文件,这里在144主机上搭建,目录准备

  • 修改redis_sentinelx.conf文件
# 让sentinel服务后台运行
daemonize no

# 修改日志文件的路径
logfile "/data/sentinel.log"

# 修改监控的主redis服务器
# 最后一个2表示,两台机器判定主被动下线后,就进行failover(故障转移)
sentinel monitor mymaster 192.168.31.132 6379 2
# 主数据库密码,需要将配置放在sentinel monitor mymaster 192.168.31.132 6379 2下面
sentinel auth-pass mymaster 123456
  • 安装步骤
docker run -it --network=redis-net -d -p 26380:26380 -v /home/docker/redis/redis_sentinel1/sentinel.conf:/etc/redis/sentinel1/sentinel.conf -v /home/docker/redis/redis_sentinel1/data:/data   --name redis-sentinel1 redis:6.0.8 redis-sentinel /etc/redis/sentinel1/sentinel.conf

docker run -it --network=redis-net -d -p 26381:26381 -v /home/docker/redis/redis_sentinel2/sentinel.conf:/etc/redis/sentinel2/sentinel.conf -v /home/docker/redis/redis_sentinel2/data:/data   --name redis-sentinel2 redis:6.0.8 redis-sentinel /etc/redis/sentinel2/sentinel.conf

docker run -it --network=redis-net -d -p 26382:26382 -v /home/docker/redis/redis_sentinel3/sentinel.conf:/etc/redis/sentinel3/sentinel.conf -v /home/docker/redis/redis_sentinel3/data:/data   --name redis-sentinel3 redis:6.0.8 redis-sentinel /etc/redis/sentinel3/sentinel.conf
  • 验证
docker exec -it 容器id /bin/bash
redis-sentoinel

标签:--,redis,哨兵,conf,6.0,sentinel,docker,data
From: https://www.cnblogs.com/ngLee/p/17546306.html

相关文章

  • Redis CRUD Client
    #-*-coding:utf-8-*-importredisfromconfig.redis_configimportCACHE_REDIS_CONF#CACHE_REDIS_CONF={#"host":"x.x.x.x",#"port":????,#"password":??????,#"db":??,#}redis......
  • redis数据结构-String(SDS)
    redis数据结构(一)注:以下源码部分,来自redis-7.0.12,redis-3.0redis有一个核心的对象,叫做redisObject,用来标识所有的key和value,用结构体reidsObject来标识String、Hash、List、Set、Zset五种数据结构。源码位置在server.h。/*Objectsencoding.Somekindofobjects......
  • kali 5.16内核升级6.0.0 失败以后重新修改gurb引导菜单
    背景简介:自己拿测试机升级内核后,无法正常开机出现“unabletomountrootfsonunknown-block(0,0) kali”错误 #新内核不能正常启动尝试自己修复,并且恢复引导菜单,恢复开机默认启动,以下为研究记录 #首先几个重要目录/boot/grub/grub.cfg  #这个目录是开机引导选......
  • zlm+wvp+redis搭建视频平台
    Windows下安装redis下载地址:https://github.com/tporadowski/redis/releases zlm视频服务搭建请参考https://www.cnblogs.com/yebinghuai/p/ZLMediaKit.html运行界面 wvp视频信念搭建依赖环境需要安装Node.js请参考https://www.cnblogs.com/yebinghuai/p/17544969.......
  • redis初识笔记
    1.连接redis:在redis的某个节点机器上cd到redis_cluster目录,执行./redis-cli-h10.174.65.236 -c-p6381 2.查看所有key:keys*3.查看某个key的命令A.普通key:getkeynameB.map类似的keyHGETALLmapname[二级keyname]......
  • Vue3+.net6.0 四 计算属性 computed
    跟Vue2一样,我们在工作中使用data中的属性时,很多时候不是直接拿来用,而是要经过一些计算,判断,筛选的过程。比如一个数组,我们可能在使用前要判断有没有元素,是否包含某个元素,然后根据不同的情况有不同的展示方式,这些如果都写在html部分,会非常不好阅读,如果多个地方要做类似的判断,则会......
  • Vue3+.net6.0 三 响应式基础,methods
    这里的示例都用选项式风格在Vue3中,数据是基于 JavaScriptProxy(代理) 实现响应式的。这个示例中输出是false,因为当你在赋值后再访问 this.someObj,此值已经是原来的 newObj 的一个响应式代理。需要注意的是newObj 并不会变成响应式。<scripttype="module">const......
  • redis学习十八:redis管道
    如何优化频繁命令往返造成的性能瓶颈:管道可以一次性发送多条命令给服务端,服务端依次处理完毕后,通过一条响应一次性将结果返回,通过减少客户端与redis的通信次数来实现降低往返延时时间,管道实现的原理是队列,先进先出的特性就保证数据的顺序性。管道定义:pipeline是为了解决rtt往返......
  • PHP+Redis消息队列
    调用方式$redis=RedisManager::getInstance();$queue=json_encode(['queue_id'=>$queueId,'question'=>$question],256);if($redis->LPush('QA_wecom',$queue))returnResult::Success();单例<?phpnamespaceapp\admin\com......
  • M1 安装redis 报错问题 {assert {[r memory usage key] < 42000}} proc ::test)
    macm1安装redis基本步骤官方下载安装包https://redis.io/download/然后解压 进入目录输入测试命令: sudomaketest没问题进行安装:sudomakeinstall安装成功redis-server启动redis服务redis-cli进行连接,接着按照key,value进行设置测试是否能正常set、get报错......