当前位置: 首页 > 科技观察

Redis6.XSentinel哨兵集群搭建_0

时间:2023-03-12 01:07:22 科技观察

码哥带你完成CentOS7下安装Redis6.x的教程,在学习Redis之前,我们需要先搭建一个sentinel环境。机器有限,目标是在一台机器上搭建6个节点,形成一主二从三哨的集群模式。下载解压可以直接到Redis官网下载最新的稳定包,地址:https://redis.io/download。或者使用命令:sudowgethttp://download.redis.io/releases/redis-6.0.9.tar.gz下载安装包..码哥统一把软件包放在/opt/soft目录下,并创建目录mkdirredisSentinel。在redis主从节点redis.conf配置模板对应的redisSentinel目录下分别执行mkdir647964806481263792638026381647964806481。tar-zxfredis-6.0.9.tar.gz-CredisSentinel解压到redisSentinel目录下。在使用make编译之前,我们需要确认gcc版本。从redis6.0.0开始,编译redis需要支持C11特性,4.9引入。Centos7默认的gcc版本是4.8.5,所以需要升级gcc版本。否则编译时会报错。解决方案yum-yinstallgccgcc-c++makeetclyum-yinstallcentos-release-sclyum-yinstalldevtoolset-9-gccdevtoolset-9-gcc-c++devtoolset-9-binutilssclennabledevtoolset-9bash可以解决升级后make报错问题。注意:scl命令的启用只是暂时的,退出xshell或重启后会恢复原来的gcc版本。如果想长期生效,执行下面的sudoecho"source/opt/rh/devtoolset-9/enable">>/etc/profile。cd/opt/soft/redisSentinel/redis-6.0.9切换到目录,执行make。编译完成后,使用makeinstall安装redis,命令:sudomakeinstall。主从复制复制三份redis.conf到647964806481目录下,修改配置:Master#master端口port6479#启用Redis跨网访问bind172.16.90.152#后台执行daemonizeyespidfile/var/run/redis_6479.pidslave主要是端口号不一样,分别是6480和6481,在最后加上replicaof172.16.90.1526479#masterportport6480#让Redis跨网访问bind172.16.90.152#后台执行daemonizeyes#指定masteripmasterportreplicaof172.16.90.1526479单独启动Redis通过redis-server启动主从节点。./redis-6.0.9/src/redis-serverredis-6479/redis.conf./redis-6.0.9/src/redis-serverredis-6480/redis.conf./redis-6.0.9/src/redis-serverredis-6481/redis.conf查看集群状态。/redis-6.0.9/src/redis-cli-p6479infoReplication配置sentinel集群,将sentinel配置文件分别复制到sentinel26380sentinel26381sentinel26382。需要注意的是每个文件的端口配置和sentinelmonitormymaster172.16.90.15264792sentinelclustersummary中最后的数字2每个节点都要保持一致。分别修改这三个配置文件:#绑定IPbind0.0.0.0#后台运行daemonizeyes#默认yes,如果不指定密码或IP,外网无法访问protected-modeno#sentinel的端口,客户端通过thisPorttodiscoverredisport26380#会自动生成这个文件(如果是在同一台服务器启动,注意修改成不同的端口)pidfile/var/run/redis-sentinel-26380.pid#sentinel的名字监控的master是mymaster,初始地址是127.0.0.16380,2表示有两个或两个以上的sentinel被认为已经挂了,只有这样才算挂掉。sentinelmonitormymaster172.16.90.15264792启动哨兵集群。redis-6.0.9/src/redis-sentinelsentinel26381/sentinel.conf./redis-6.0.9/src/redis-sentinelsentinel26382/sentinel.conf查看sentinel监控的主从信息:redis-cli-h192.168.31。220-p26380sentinelmastermymasterSENTINELreplicasmymasterSENTINELsentinelsmymastertestfailoverredis-cli-p6480DEBUGsleep30再次查看当前master地址,这次会得到不同的响应:SENTINELget-master-addr-by-namemymaster