当前位置: 首页 > news >正文

Java配置42-配置redis高可用(sentinel监控)


目录

1.服务器环境

2.Redis服务器概况

3.Redis高可用

1)复制配置文件

2)修改redis.conf

3)修改sentinel.conf文件

4)启动redis和sentinel

5)配置redis信息


1.服务器环境

系统版本:Red Hat Enterprise Linux Server release 6.8

2.Redis服务器概况

redis官网:https://redis.io/

服务器上已安装了Redis,但是没有配置高可用。

redis_6379-6382目录是本机4个redis的安装目录,这4个现在都是master,software是redis的解压目录。

3.Redis高可用

本机准备做1主3从模式的高可用。但由于redis目前只支持主从复制备份(不支持主主复制),当主redis挂了,从redis只能提供读服务,无法提供写服务。所以,还需要自动故障转移,redis sentinel带有这个功能,当一个主redis不能提供服务时,redis sentinel可以将一个从redis升级为主redis,并对其他从redis进行配置,让它们使用新的主redis进行复制备份。

1)复制配置文件

切至Redis的解压目录

cd software/redis-3.2.8

复制redis.conf、sentinel.conf至各个安装目录的conf目录下

在此只写一个样例

cp sentinel.conf /home/XX/redis_6379/conf

cp redis.conf /home/XX/redis_6379/conf

修改之前备份

cd /home/XX/redis_6379/conf

cp redis.conf redis.conf.20180804.bak

2)修改redis.conf

vim redis.conf
将bind 127.0.0.1改为bind 0.0.0.0

将protected-mode yes改为protected-mode no(保护模式)

将daemonize no改为daemonize yes (后台模式)

将logfile ""改为logfile "/var/log/redis.log"(按需修改)

从机上多添加一行

slaveof      主机ip        6379

3)修改sentinel.conf文件

vim sentinel.conf

将sentinel monitor mymaster 127.0.0.1 6379 2

修改为sentinel monitor mymaster 主机ip 6379 2 (主redis的IP和端口)

添加以下几行:

daemonize yes

protected-mode no

logfile "/var/log/sentinel.log"(按需修改)

4)启动redis和sentinel

进入Redis安装目录的bin目录,执行命令:

./redis-server ../conf/redis.conf

./redis-sentinel ../conf/sentinel.conf

./redis-cli

分别启动redis6379/6380/6381/6382

退出redis-cli,命令:

quit

切换端口

./redis-cli -p 6381(根据实际端口填写)

在启动redis-cli后,输入命令:

info replication

查看Redis信息,包括角色、连接的从机等信息

5)配置redis信息

应用启动时可指定yml文件,yml文件中关于redis的配置为

spring:
#  cache:
#    type: redis
#  redis:
#    host: xx
#    port: 6379
  redis:
    sentinel:
      master: mymaster
      nodes: xx:26379,xx:26380,xx:26381

相关文章:

  • 共话龙蜥:中国操作系统到底有没有角力世界舞台的实力?
  • vue独立提供模板下载功能
  • 怎么判断MES系统好不好?MES又是如何帮企业省钱的?
  • 数据治理:为什么不见BI作关联分析
  • 聚氨基酯偶联牛血清白蛋白/人血清白蛋白/卵清白蛋白纳米粒PAE-BSA/HSA/OVA(合成路线)
  • 应用开发类API推荐
  • sonar是一款静态代码质量分析工具
  • EN 14782建筑金属结构产品—CE认证
  • Leetcode 376. 摆动序列
  • Linux12 crontab 定时任务 at 一次性任务
  • 【树莓派】项目中找不到第三方库的问题
  • leetcode136,137,260:只出现一次的数字 | || |||
  • mysql安装8.0详细操作
  • 《算法竞赛进阶指南》,USACO2007 牛站
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • AHK 中 = 和 == 等比较运算符的用法
  • Docker入门(二) - Dockerfile
  • eclipse(luna)创建web工程
  • ES2017异步函数现已正式可用
  • Node + FFmpeg 实现Canvas动画导出视频
  • React as a UI Runtime(五、列表)
  • TypeScript迭代器
  • 当SetTimeout遇到了字符串
  • 二维平面内的碰撞检测【一】
  • 规范化安全开发 KOA 手脚架
  • 你真的知道 == 和 equals 的区别吗?
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端面试题总结
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 微信小程序设置上一页数据
  • 走向全栈之MongoDB的使用
  • 2017年360最后一道编程题
  • #ifdef 的技巧用法
  • #pragma once
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (pojstep1.3.1)1017(构造法模拟)
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (三)模仿学习-Action数据的模仿
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)可以带来幸福的一本书
  • (转)用.Net的File控件上传文件的解决方案
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .net 调用php,php 调用.net com组件 --
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • @angular/cli项目构建--http(2)
  • @RestController注解的使用
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • @WebServiceClient注解,wsdlLocation 可配置
  • [20190401]关于semtimedop函数调用.txt
  • [AIGC] SQL中的数据添加和操作:数据类型介绍
  • [Android]如何调试Native memory crash issue
  • [AutoSar NVM] 存储架构