

Redis 6.X Sentinel 哨兵集群搭建
source link: https://my.oschina.net/magebyte/blog/5007012
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Redis 6.X Sentinel 哨兵集群搭建
码哥带大家完成在 CentOS 7 中安装 Redis 6.x 教程。在学习 Redis 之前,我们需要先搭建一套哨兵环境。机器有限,实现目标是一台机器上搭建 6 个节点,构成一主两从三哨兵集群模式。
可直接到 Redis 官网下载最新稳定包,地址:https://redis.io/download。或者使用 命令:sudo wget http://download.redis.io/releases/redis-6.0.9.tar.gz
下载安装包.。
-
码哥统一把软件包放在
/opt/soft
目录下,并创建目录mkdir redisSentinel
。在 redisSentinel 目录下执行mkdir 6479 6480 6481 26379 26380 26381
6479 6480 6481分别对应 Redis 主从节点 redis.conf 配置模板。 -
tar -zxf redis-6.0.9.tar.gz -C redisSentinel
解压到 redisSentinel 目录中。
make 编译
在编译之前我们需要确认 gcc 版本,自 redis 6.0.0 之后,编译 redis 需要支持 C11 特性,C11 特性在 4.9 中被引入。Centos 7 默认 gcc 版本为 4.8.5,所以需要升级gcc版本。
否则在编译过程中会报错。
yum -y install gcc gcc-c++ make tcl
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
升级之后便可解决 make 报错问题。
注意:scl命令启用只是临时的,退出xshell或者重启就会恢复到原来的gcc版本。如果要长期生效的话,执行如下 sudo echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile。
cd /opt/soft/redisSentinel/redis-6.0.9
切换到目录执行 make
。
编译完成使用 make install 对 redis 进行安装 ,命令:sudo make install
。
将 redis.conf 复制三份到 6479 6480 6481 目录下,并修改配置:
Master
# master 端口
port 6479
# 让 Redis 可以跨网访问
bind 172.16.90.152
# 后台执行
daemonize yes
pidfile /var/run/redis_6479.pid
slave
主要在于端口号不同,分别是 6480、6481,并且在末尾添加 replicaof 172.16.90.152 6479
# master 端口
port 6480
# 让 Redis 可以跨网访问
bind 172.16.90.152
# 后台执行
daemonize yes
# 指定 masterip master port
replicaof 172.16.90.152 6479
分别启动 Redis
通过 redis-server 启动主从节点。
./redis-6.0.9/src/redis-server redis-6479/redis.conf
./redis-6.0.9/src/redis-server redis-6480/redis.conf
./redis-6.0.9/src/redis-server redis-6481/redis.conf
检查集群状态
./redis-6.0.9/src/redis-cli -p 6479 info Replication
配置哨兵集群
将哨兵配置文件分别复制到 sentinel26380 sentinel26381 sentinel26382
,需要注意的是每个文件的端口配置以及 sentinel monitor mymaster 172.16.90.152 6479 2
中最后的数字 2,哨兵集群汇总每个节点必须一致。
分别修改这三个配置文件:
# 绑定IP
bind 0.0.0.0
# 后台运行
daemonize yes
# 默认yes,没指定密码或者指定IP的情况下,外网无法访问
protected-mode no
# 哨兵的端口,客户端通过这个端口来发现redis
port 26380
# 这个文件会自动生成(如果同一台服务器上启动,注意要修改为不同的端口)
pidfile /var/run/redis-sentinel-26380.pid
# sentinel监控的master的名字叫做mymaster,初始地址为 127.0.0.1 6380,2代表两个及以上哨兵认定为死亡,才认为是真的死亡
sentinel monitor mymaster 172.16.90.152 6479 2
启动哨兵集群
./redis-6.0.9/src/redis-sentinel sentinel26380/sentinel.conf
./redis-6.0.9/src/redis-sentinel sentinel26381/sentinel.conf
./redis-6.0.9/src/redis-sentinel sentinel26382/sentinel.conf
查看 sentinel 监控的 master-slave 信息:
redis-cli -h 192.168.31.220 -p 26380
sentinel master mymaster
SENTINEL replicas mymaster
SENTINEL sentinels mymaster
测试故障自动转移
redis-cli -p 6480 DEBUG sleep 30
再次检查当前 master 地址,这次将得到不同的响应:
SENTINEL get-master-addr-by-name mymaster
本文分享自微信公众号 - 码哥字节(MageByte)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
Recommend
-
33
echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!! 搭建Redis集群之前请准备好3台已经安装好Redi...
-
10
SentinelSentinel(哨兵)是Redis的高可用的一个解决方案。有一个或多个Sentinel实例组成的Sentinel系统。用来监视任意多个主服务器和从服务器。 使用Sentinel的时候,会启动Sentinel用来监视主服务器或者从服务器,应该在Sentinel配置文件中配...
-
9
redis哨兵集群,主从库切换 发表于 2021-04-27
-
9
硬盘哨兵 Hard Disk Sentinel Pro v5.70beta5多语言学习版...
-
13
Redis 高可用篇:你管这叫 Sentinel 哨兵集群原理我们知道「
-
12
如果让你为开发、测试环境分别搭一套哨兵和集群模式的redis,你最快需要多久,或许你需要一天?2小时?事实是可以更短。 是的,你已经猜到了,用docker部署,真的只需要十几分钟。 一.准备工作 拉取redis镜像 运行如下命令...
-
11
Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序。它有三个主要特点,使其优越于其它键值数据存储系统: Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化。 与其它键值数据存储相比...
-
5
Redis系列4:高可用之Sentinel(哨兵模式)
-
9
Redis架构之哨兵机制与集群 1、介绍: Sentinel(哨兵)是redis高可用性解决方案:由一个或多个由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有...
-
3
Redis 架构深入:主从复制、哨兵到集群 大家好,我...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK