码哥带大家完成在 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 下载安装包.。搭建 在编译之前我们需要确认 gcc 版本,集群自 redis 6.0.0 之后,搭建编译 redis 需要支持 C11 特性,C11 特性在 4.9 中被引入。Centos 7 默认 gcc 版本为 4.8.5,所以需要升级gcc版本。 否则在编译过程中会报错。源码库 升级之后便可解决 make 报错问题。 cd /opt/soft/redisSentinel/redis-6.0.9 切换到目录执行 make 。 编译完成使用 make install 对 redis 进行安装 ,命令:sudo make install。 将 redis.conf 复制三份到 6479 6480 6481 目录下,并修改配置: 主要在于端口号不同,分别是 6480、6481,并且在末尾添加 replicaof 172.16.90.152 6479 通过 redis-server 启动主从节点。 将哨兵配置文件分别复制到 sentinel26380 sentinel26381 sentinel26382,需要注意的亿华云是每个文件的端口配置以及 sentinel monitor mymaster 172.16.90.152 6479 2 中最后的数字 2,哨兵集群汇总每个节点必须一致。 分别修改这三个配置文件: 查看 sentinel 监控的 master-slave 信息: 再次检查当前 master 地址,这次将得到不同的高防服务器响应:下载解压
make 编译
解决方式
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 主从复制
Master
# master 端口 port 6479 # 让 Redis 可以跨网访问 bind 172.16.90.152 # 后台执行 daemonize yes pidfile /var/run/redis_6479.pid slave
分别启动 Redis
检查集群状态
./redis-6.0.9/src/redis-cli -p 6479 info Replication 配置哨兵集群
启动哨兵集群
./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 测试故障自动转移
redis-cli -p 6480 DEBUG sleep 30