CentOS8 下 Redis5.0.7 哨兵Sentinel 模式配置指南
下载Redis
解压缩
tar -xzvf redis-5.0.7.tar.gz
编译安装
make和gcc依赖
可通过yum -y install gcc automake autoconf libtool make
命令安装make和gcc等。
编译及jemalloc依赖
系统可能缺少或因为发生奇怪的错误而提示缺少jemalloc库,在jemalloc的GitHub地址中下载该库然后替换到/deps/jemalloc/文件夹下。
然后在解压后的redis文件夹下输入make
,即可编译。
也可以调用系统自带的C库进行编译:make MALLOC=libc
。
编译完成后输入make install
即可将redis安装
redis可执行文件如下:
有这几个文件即可运行redis。
redis运行及哨兵模式配置
redis运行
redis-server为主程序,可通过执行redis-server redis.conf
命令来通过配置文件运行程序。
redis-cli为提供的客户端程序,可通过客户端对服务器进行测试。在使用cli客户端时,可以使用info
等命令对服务器状态进行查询,还可以进行get/set测试。
redis-benchmark为测试程序,可对服务器性能进行测试。如redis-benchmark -n 10000 -q
redis-sentinel为哨兵程序,执行redis-sentinel sentinel.conf
即可通过配置文件执行哨兵程序。
单机及哨兵模式redis.conf配置
服务器配置
redis数据库主程序可以通过redis.conf配置文件进行设置,配置文件中较为重要的项有下面几项:
- bind 绑定本机IP地址,只有通过这个本机IP访问的请求才可以连接到数据库(限定自己的网卡入口而不是限定外部IP,比如只接受来自192.168.1.1这个网卡的链接)。默认监听所有IP,可通过添加IP限定监听地址。
- protected-mode 保护模式,当yes时只能接受bind地址的连接请求或密码连接请求
- port 数据库访问端口,默认6379
- daemonize 是否后台运行
- pidfile 如果以后台模式启动redis,程序会将自己的pid号写入该文件
- logfile 默认是标准输出输出log,如果是后台模式,则需要指定log地址
- save redis是储存在内存中的数据库,同时也支持持久化操作,save就是指定储存规则,save 900 1就是表示900秒内有1次数据改动则进行持久化操作,储存到本地文件中。
- dbfilename 储存到本地的rdb数据文件的名称
- dir rdb文件储存目录,同时也是aof文件储存目录
- replicaof 在哨兵模式中,主服务器不开启该项,从服务器开启该项。参数为主服务器ip和端口
- masterauth 参数为主服务器密码
- requirepass 主机连接时需要的密码
哨兵配置
sentinel.conf配置文件可以配置哨兵进程。常用参数如下(许多都与redis.conf意义相同):
- bind及protected-mode 同redis服务器的bind
- port 哨兵进程所用端口
- daemonize 是否后台运行
- pidfile 如果以后台模式启动redis,程序会将自己的pid号写入该文件
- logfile 默认是标准输出输出log,如果是后台模式,则需要指定log地址
- dir 工作目录
- sentinel myid 哨兵ID
- sentinel monitor 设置主服务器名,主服务器IP和端口,以及投票哨兵数
- sentinel down-after-milliseconds 多少毫秒没有接到主服务器的反馈则认为是down了
- sentinel failover-timeout 客观下线后执行failover的超时时间,超时则认为失败
- sentinel auth-pass 参数为主服务器名和密码
单机模拟哨兵模式脚本
需提前进行6个文件的配置,错开redis主从服务器和哨兵服务器端口,设置好主服务器地址、端口、密码和工作目录等项。然后将6个程序放到同一目录下,形成
master,slave1,slave2,sentinel1,sentinel2,sentinel3的并列的文件夹结构。
echo "启动主服务器"
gnome-terminal -t "master" -x bash -c "./redis-master/redis-server ./redis-master/redis.conf;exec bash;"
echo "启动从服务器"
gnome-terminal -t "slave1" -x bash -c "./redis-slave1/redis-server ./redis-slave1/redis.conf;exec bash;"
echo "启动从服务器"
gnome-terminal -t "slave2" -x bash -c "./redis-slave2/redis-server ./redis-slave2/redis.conf;exec bash;"
echo "启动哨兵服务器"
gnome-terminal -t "sentinel1" -x bash -c "./redis-sentinel1/redis-sentinel ./redis-sentinel1/sentinel.conf;exec bash;"
echo "启动哨兵服务器"
gnome-terminal -t "sentinel2" -x bash -c "./redis-sentinel2/redis-sentinel ./redis-sentinel2/sentinel.conf;exec bash;"
echo "启动哨兵服务器"
gnome-terminal -t "sentinel3" -x bash -c "./redis-sentinel3/redis-sentinel ./redis-sentinel3/sentinel.conf;exec bash;"
哨兵模式介绍
哨兵模式中,主服务器为可正常读写访问服务器,从服务器从主服务器异步备份数据,哨兵监控主从服务器状态。
当主服务器下线时,其监视的哨兵会触发主观下线,然后触发哨兵投票,当半数以上哨兵投票认为服务器下线时,会触发客观下线,进行服务器切换,投票自动切换到从服务器提供数据库服务。
CentOS8 下 Redis5.0.7 哨兵Sentinel 模式配置指南的更多相关文章
- Redis哨兵(sentinel)模式搭建
一.Sentinel介绍 之前骚了一波Redis的简介及应用场景,今天试了下他的哨兵模式: Sentinel是Redis的高可用性(HA)解决方案,由一个或多个Sentinel实例组成的Sentine ...
- Redis详解(九)------ 哨兵(Sentinel)模式详解
在上一篇博客----Redis详解(八)------ 主从复制,我们简单介绍了Redis的主从架构,但是这种主从架构存在一个问题,当主服务器宕机,从服务器不能够自动切换成主服务器,为了解决这个问题,我 ...
- EXTJS4.0 grid 可编辑模式 配置
首先配置这个参数 plugins:[//插件 Ext.create("Ext.grid.plugin.CellEditing",{ clicksToEdit:1//单元格 点一下就 ...
- linux下安装Apache(https) 服务器证书安装配置指南
一. 安装准备 1. 安装Openssl 要使Apache支持SSL,需要首先安装Openssl支持.推荐下载安装openssl-0.9.8k.tar.gz 下载Openssl:http: ...
- CentOS7下编译安装redis-5.0.9
CentOS7下编译安装redis-5.0.9 本文地址http://yangjianyong.cn/?p=171转载无需经过作者本人授权 下载redis #code start wget https ...
- redis环境搭建及一主二从三哨兵模式配置
一.单机redis环境搭建 1.安装: OS:linux redhat6.5 下载redis 官网下载链接:https://redis.io/download 把安装包上传到服务器,进行解压 [roo ...
- Redis 哨兵模式配置
搭建步骤 第一步: 在 redis.conf 配置文件目录下拷贝三份 sentinel.conf 文件 [root@node-01 redis-5.0.9]# cp sentinel.conf sen ...
- Redis5源码解析-Sentinel
简单的概念就不解释.基于Redis5.0.5 从Sentinel主函数触发 在sentinel.c文件的最后面可以发现sentinelTimer函数,这个就是Sentinel的主函数,sentinel ...
- Redis一主二从Sentinel监控配置
本文基于Redis单实例安装安装.https://gper.club/articles/7e7e7f7ff7g5egc4g6b 开启哨兵模式,至少需要3个Sentinel实例(奇数个,否则无法选举Le ...
随机推荐
- Spring Data JPA基本了解
前言 自 JPA 伴随 Java EE 5 发布以来,受到了各大厂商及开源社区的追捧,各种商用的和开源的 JPA 框架如雨后春笋般出现,为开发者提供了丰富的选择.它一改之前 EJB 2.x 中实体 B ...
- Java——序列化 反序列化
记录一下: 先粘两个比较繁琐的方法: put: public void putSerializableObject(String key, Object value, int expireTime) ...
- LTM加速优化特性
TCP Express TCP Express 是 LTM 产品的一项重要特性. 借助 TCP Express,LTM 可分别为客户机端和服务器端创建独立的连接.这样一来,LTM 可以针对客户机连接和 ...
- ssh复制公钥成功后仍需输入密码
1,网上说权限问题 登录流程: 被登录机器的文件权限: //用户权限 chmod 700 /home/username //.ssh文件夹权限 chmod 700 ~/.ssh/ // ~/.ssh/ ...
- Linux入门培训教程 linux系统中文件I/O教程
linux 文件I/O教程 一,文件描述符 对内核而言,所以打开的文件都通过文件描述符引用.每个进程都有一些与之关联的文件描述符.文件描述符是一个非负整数.当打开一个现有文件或创建一个新文件时,内核向 ...
- ROM和RAM的内存详细说明
1.首先是ROM 的读取是需要提前两个地址的读取,所以要想读取0地址的数据,你需要给地址是2 2.关于宽度,深度的计算 假设我们要存取如下取模的数据,该模的设置口语描述为:这是显示的2个字节,其中一个 ...
- The GuidRepresentation for the reader is CSharpLegacy, which requires the binary sub type to be Uuid
使用客户端链接MongoDb报错 The GuidRepresentation for the reader is CSharpLegacy, which requires the binary su ...
- 论文阅读:Stateless Network Functions: Breaking the Tight Coupling of State and Processing
摘要: 无状态网络功能是一个新的网络功能虚拟化架构,解耦了现有的网络功能设计到无状态处理组件以及数据存储层,在打破紧密耦合的同时,实现了更具可伸缩性和可恢复性的网络功能基础设施.无状态NF处理实例是围 ...
- 关于TCP/IP,必须知道的十个知识点(转)
三次握手四次挥手可参考:http三次握手,四次挥手 本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养. 一.TCP/IP模型 TCP/IP协议模型(T ...
- 一个时序图描述从用户在浏览器地址栏输入url并按回车,到浏览器显示相关内容的各个过程
其实考察的就是一次HTTP请求所经过的过程和Spring或者SpringMVC怎么调用dispatcherServlet的过程