我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用Docker配置redissentinel哨兵的方法步骤

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用Docker配置redissentinel哨兵的方法步骤

本文演示一主二从。

先说一下遇到的问题。我看网上说想配置哨兵,必须让启动redis的docker网络模式为host,否则无法访问到从还是什么的。我指定--network host后无法外网访问,redis desktop manager连不上redis了,后来发现我这个新克隆的机器没关防火墙,关上就好了。

1.配置主从

docker pull一下redis

master

mkdir -p /mydata/redis/6379/conf
mkdir -p /mydata/redis/6379/data
touch /mydata/redis/6379/conf/redis.conf
echo "appendonly yes"  >> /mydata/redis/6379/conf/redis.conf
docker run --network host --name redis6379 -v /mydata/redis/6379/data:/data -v /mydata/redis/6379/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf --port 6379

slave

#slave1
mkdir -p /mydata/redis/6380/conf
mkdir -p /mydata/redis/6380/data
touch /mydata/redis/6380/conf/redis.conf
echo "appendonly yes"  >> /mydata/redis/6380/conf/redis.conf
docker run --network host --name redis6380 -v /mydata/redis/6380/data:/data -v /mydata/redis/6380/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf --port 6380 --slaveof 192.168.243.4 6379

#slave2
mkdir -p /mydata/redis/6381/conf
mkdir -p /mydata/redis/6381/data
touch /mydata/redis/6381/conf/redis.conf
echo "appendonly yes"  >> /mydata/redis/6381/conf/redis.conf
docker run --network host --name redis6381 -v /mydata/redis/6381/data:/data -v /mydata/redis/6381/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf --port 6381 --slaveof 192.168.243.4 6379

查看配置:

#主
docker exec -it redis6379 redis-cli
>info replication
#从
docker exec -it redis6380 redis-cli -p 6380
>info replication

在这里插入图片描述

2. 配置哨兵

master

mkdir /mydata/redis/6379/sentinel
mkdir /mydata/redis/6379/sentinel/log
vi /mydata/redis/6379/sentinel/sentinel.conf
#输入
port 26379
dir "/var/log/sentinel"
logfile "/var/log/sentinel/26379.log"
sentinel monitor mymaster 192.168.243.4 6379 1 #这里暂时设置成1
                       ![在这里插入图片描述](https://img-blog.csdnimg.cn/9a303b239fec467385d2c8990cb3e629.png#pic_center)
                        #方便看一下主挂掉是什么效果
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
#end
docker run -d --name sentinel26379 -v /mydata/redis/6379/sentinel/sentinel.conf:/conf/sentinel.conf -v /mydata/redis/6379/sentinel/log:/var/log/sentinel --network host redis redis-sentinel /conf/sentinel.conf

先进行测试:

docker exec -it redis6379 redis-cli
> SHUTDOWN
> exit
cat /mydata/redis/6379/sentinel/log/26379.log

在这里插入图片描述

此时redis6381已成为新的master

在这里插入图片描述

再启动docker start redis6379 6379是slave了

测试成功,修改上面配置文件的sentinel monitor mymaster 192.168.243.4 6379 2 数字配置为2,代表至少有2个Sentinel节点认为主节点不可达,那么这个不可达的判定才是客观的。为了防止票数相同,sentinel启动奇数个。

slave

#slave1
mkdir /mydata/redis/6380/sentinel
mkdir /mydata/redis/6380/sentinel/log
vi /mydata/redis/6380/sentinel/sentinel.conf
#输入
port 26380
dir "/var/log/sentinel"
logfile "/var/log/sentinel/26380.log"
sentinel monitor mymaster 192.168.243.4 6380 2
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
#end
docker run -d --name sentinel26380 -v /mydata/redis/6380/sentinel/sentinel.conf:/conf/sentinel.conf -v /mydata/redis/6380/sentinel/log:/var/log/sentinel --network host redis redis-sentinel /conf/sentinel.conf

#slave2
mkdir /mydata/redis/6381/sentinel
mkdir /mydata/redis/6381/sentinel/log
vi /mydata/redis/6381/sentinel/sentinel.conf
#输入
port 26381
dir "/var/log/sentinel"
logfile "/var/log/sentinel/26381.log"
sentinel monitor mymaster 192.168.243.4 6381 2
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
#end
docker run -d --name sentinel26381 -v /mydata/redis/6381/sentinel/sentinel.conf:/conf/sentinel.conf -v /mydata/redis/6381/sentinel/log:/var/log/sentinel --network host redis redis-sentinel /conf/sentinel.conf

在这里插入图片描述

3.SpringBoot连接

application.yml

spring:
  redis:
    timeout: 5000
    sentinel:
      master: mymaster
      nodes: 192.168.243.4:26379,192.168.243.4:26380,192.168.243.4:26381

controller

    @Autowired
	private StringRedisTemplate redisTemplate;

	@RequestMapping("/redis")
    public String redis() {
        redisTemplate.opsForValue().set("test", "121323123");
        String test = redisTemplate.opsForValue().get("test");
        return "RESULT: " + test;
    }

访问localhost:8080/redis

在这里插入图片描述

 到此这篇关于使用Docker配置redis sentinel哨兵的方法步骤的文章就介绍到这了,更多相关Docker配置redis sentinel哨兵内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用Docker配置redissentinel哨兵的方法步骤

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用Docker配置redis sentinel哨兵的方法步骤

目录1.配置主从2. 配置哨兵3.SpringBoot连接本文演示一主二从。先说一下遇到的问题。我看网上说想配置哨兵,必须让启动Redis的docker网络模式为host,否则无法访问到从还是什么的。我指定--network host后无
2022-07-11

Docker下Redis集群(主从+哨兵)安装配置的实现步骤

目录一、所有机器拉去镜像二、主从集群搭建2.1、repythondis.cong 文件2.2、创建本地映射文件夹,并将 Redis.conf 放到 /usr/local/redis/conf 文件夹内2.3、启动redis2.4、校验red
2022-07-11

redis哨兵模式配置的步骤是什么

配置 Redis 哨兵模式可以分为以下几个步骤:安装 Redis:首先需要在多台服务器上安装 Redis。配置主服务器:选择一台服务器作为主服务器,并在其配置文件中设置 server 的配置项,如端口号和密码等。配置从服务器:选择一台或多台
2023-10-26

GO项目配置与使用的方法步骤

目录一、Go版本以及GoLand版本二、环境配置三、GoLand项目创建这里的Go(SDK)、GoLand的安装就不多说了,网上自行下载,我们着重讲项目配置,import pkg时能够完美运行 一、Go版本以及GoLand版本 Go版本--
2022-06-07

系统配置的方法步骤

这篇文章主要介绍“系统配置的方法步骤”,在日常操作中,相信很多人在系统配置的方法步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”系统配置的方法步骤”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!电脑在启动
2023-06-09

Nginx配置SSL证书的方法步骤

本篇文章详细介绍了在Nginx服务器上配置SSL证书的步骤,包括安装OpenSSL、配置SSL虚拟主机、生成自签名证书(可选)、测试和重新启动Nginx。通过遵循这些步骤,读者可以保护他们的网站免受未经授权的访问,确保安全可靠的HTTPS连接。
Nginx配置SSL证书的方法步骤
2024-04-02

Ubuntu20.04安装配置GitLab的方法步骤

介绍 GitLab CE或Community Edition是一个开源应用程序,主要用于托管Git存储库,以及其他与开发相关的功能,如问题跟踪。它旨在使用您自己的基础架构进行托管,并为您的开发团队提供部署内部存储库的灵活性,与用户交互的公共
2022-06-04

shell脚本配置hostname的方法步骤

目录1.Shell字符串拼接(连接、合并)2.shell产生随机数的方法2.1 通过内部系统变量($RANDOM)2.2 读取linux的uuid码2.3 使www.cppcns.com用设备文件生成3.修改hMJyzFfamJDostna
2023-03-23

vue项目配置env的方法步骤

在vue项目中env是全局配置文件,可以存储不同环境下的变量,下面这篇文章主要给大家介绍了关于vue项目配置env的方法步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-05-16

编程热搜

目录