yum方式搭建redis一主两从和哨兵模式

发布时间:2024年01月22日

搭建环境的过程,就是踩坑的过程,这里记录下,防止过几天忘记了

一、服务器情况

1. 服务器准备

服务器ip
主服务器192.168.123.174
从服务器192.168.123.177
从服务器192.168.123.178

2. 检查系统版本

[root@localhost ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

3. 安装系统对应yum源

源一:

# 下载epel源
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

源二:

wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

清理和重建yum缓存

yum -y clean all && yum makecache

使用yum search redisyum info redis.x86_64可知,redis版本是3.2.12

二、yum方式安装Redis

# 安装redis命令
yum -y install redis

安装完毕后,执行systemctl status redis可知redis.service文件位置。
在这里插入图片描述

redis.service文件可知redis-server命令位置,并猜测redis-cliredis相关命令也是在该目录下。也可知redis.conf配置所在目录,并猜测redis相关配置也在该目录下。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、redis.conf配置文件修改

redis.conf配置文件位于/etc/redis.conf

注意:三台安装好的redis服务按照下面配置进行修改

1.配置端口:
port 6379

2.修改绑定ip为服务器内网ip地址,做绑定,三台各自填写各自的ip地址
bind 0.0.0.0

2.保护模式修改为否,允许远程连接
protected-mode no

3.设定密码
requirepass "XXXX"

4.设定主库密码与当前库密码同步,保证从库能够提升为主库
masterauth "XXXX"

5.打开AOF持久化支持
appendonly yes

6.守护进程
daemonize yes

配置完毕后,启动一台redis服务,作为redis主从的主服务。另外两台作为从服务,在redis.conf新增slaveof 主节点ip 主节点端口配置,以及主服务的密码。

在这里插入图片描述

配置完成后,主服务执行命令,tail -f /var/log/redis/redis.log,观察日志情况。
在这里插入图片描述
两台从服务执行systemctl start redis
在这里插入图片描述

redis-cli -a 123456 info replication

在这里插入图片描述

info replication

在这里插入图片描述
至此,采用yum源的方式搭建一主两从redis服务,搭建完成。

四、哨兵模式

哨兵模式实现的就是Redis主服务挂了,会选择一台从服务变成主服务。

bind 0.0.0.0
port 26379
dir "/usr/local/redis/sentinel_data"
sentinel monitor mymaster 192.168.123.174 6379 1
sentinel down-after-milliseconds mymaster 3000
sentinel auth-pass mymaster 123456
pidfile "/usr/local/redis/sentinel.pid"
logfile "/usr/local/redis/sentinel.log"

在这里插入图片描述
其它两台从redis服务也做一样配置修改,然后启动。当把主Redis服务进程给杀死,如下图:
在这里插入图片描述
查看另外一台Redis服务,其主Redis变成另外一个服务器IP了。
在这里插入图片描述
在这里插入图片描述
systemctl start redis重启之前杀死的redis进程。启动后变成从Redis。而且测试了Redis的读写也和预期一样。说明哨兵模式搭建成功。
在这里插入图片描述

文章来源:https://blog.csdn.net/rulaixiong/article/details/135740856
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。