基于centos7.9部署redis6.2主从哨兵模式

本文详细介绍了如何在三台机器上部署Redis,包括主从复制的配置步骤,以及哨兵模式的部署,涉及依赖安装、编译、配置文件修改、系统服务管理等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、部署准备

1master+2slave

master:192.168.0.156

slave1:192.168.0.157

slave1:192.168.0.158

三台机器可以相互ping通,可以ping通baidu

二、Redis部署

2.1、主从复制部署

==注:==主从模式是实现哨兵和集群的基础

2.1.1、安装gcc、gcc-c++、make依赖

# 编译所需要的环境和编译器
yum install -y gcc gcc-c++ make vim

2.1.2、下载redis6.2.9并解压

2.1.2.1、下载:

方式一:

在官网下载之后上传到指定机器

方式二:

wget https://download.redis.io/releases/redis-6.2.9.tar.gz
2.1.2.2、解压:
tar -zxvf /opt/tool/redis-6.2.9.tar.gz  -C /opt/tool

2.1.3、编译安装

cd redis-6.2.9
make MALLOC=libc
make
cd src
# redis安装位置
make install PREFIX=/usr/local/redis
mkdir /usr/local/redis/etc/

2.1.4、修改配置文件

将redis配置文件copy出一份

cp /opt/tool/redis-6.2.9/redis.conf /usr/local/redis/etc/
2.1.4.1、master配置文件
# 放行访问IP的限制  0.0.0.0 代表无限制
bind 127.0.0.1改为bind 0.0.0.0
# 后台启动
daemonize no改为daemonize yes
# 设置redis密码
requirepass foobared改为requirepass 123456
# pid存储目录
pidfile /usr/local/redis/run/redis_6379.pid
# 日志存储目录
logfile "/usr/local/redis/logs/redis.log"
# 数据存储目录,目录要提前创建好
dir /usr/local/redis/dbcache/
2.1.4.2、slave配置文件
# 放行访问IP的限制  0.0.0.0 代表无限制
bind 127.0.0.1改为bind 0.0.0.0
# 后台启动
daemonize no改为daemonize yes
# 设置redis密码
requirepass foobared改为requirepass 123456
# pid存储目录
pidfile /usr/local/redis/run/redis_6379.pid
# 日志存储目录
logfile "/usr/local/redis/logs/redis.log"
# 数据存储目录,目录要提前创建好
dir /usr/local/redis/dbcache/

# 从主节点进行数据复制
replicaof 192.168.0.156 6379
# 主节点的密码
masterauth 123456

2.1.5、创建配置文件中修改的pid、log、dbcache文件(三台机器均需操作)

mkdir /usr/local/redis/run
touch /usr/local/redis/run/redis_6379.pid

mkdir /usr/local/redis/logs
touch /usr/local/redis/logs/redis.log

mkdir /usr/local/redis/dbcache

2.1.6、设置Redis实用systemctl方式启动(三台机器均需操作)

cd /lib/systemd/system
vim redis.service

[Unit]
Description=Redis
After=network.target

[Service]
ExecStart=/opt/tool/redis-6.2.9/src/redis-server /usr/local/redis/etc/redis.conf --daemonize no
ExecStop=/opt/tool/redis-6.2.9/src/redis-cli -h 127.0.0.1 -p 6379 shutdown

[Install]
WantedBy=multi-user.target

2.1.7、创建链接并刷新配置

ln -s /lib/systemd/system/redis.service /etc/systemd/system/multi-user.target.wants/redis.service
systemctl daemon-reload

2.1.8、关闭防火墙、selinux

# 可以不执行
systemctl stop firewalld.service
systemctl disable firewalld.service
# 关闭selinux
setenforce 0

2.1.9、启动Redis

systemctl start redis

# 进入redis界面
cd /opt/tool/redis-6.2.9/src
./redis-cli -h 192.168.0.158 -p 6379 -a 123456

2.1.10、开放指定端口

firewall-cmd --add-port=6379/tcp --permanent
# 端口生效
firewall-cmd --reload

2.2、哨兵模式部署

2.2.1、将解压redis包中的配置文件拷贝一份

cp /opt/tool/redis-6.2.9/sentinel.conf /usr/local/redis/etc/

2.2.2、修改配置文件(三台机器配置相同)

vim /usr/local/redis/etc/sentinel.conf

daemonize的值从no设置为yes
pidfile /usr/local/redis/run/redis-sentinel.pid
logfile "/usr/local/redis/logs/redis-sentinel.log"
dir /usr/local/redis/tmp
# 设置redis主机IP地址,端口,选举次数
sentinel monitor mymaster 192.168.1.10 6379 2
# 设置redis主机访问密码
sentinel auth-pass mymaster 123456
# 心跳检测8000毫秒,如果主机8秒内没有相应,就会在从机开始选举
sentinel down-after-milliseconds mymaster 8000
# 执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步
sentinel parallel-syncs mymaster 1

2.2.3、创建pid、log、tmp文件(三台机器均需操作)

touch /usr/local/redis/run/redis-sentinel.pid
touch /usr/local/redis/logs/redis-sentinel.log
mkdir /usr/local/redis/tmp

2.2.4、将哨兵服务用systemctl方式启动(三台机器均需操作)

cd /lib/systemd/system
vim redis-sentinel.service

[Unit]
Description=Redis
After=network.target

[Service]
ExecStart=/opt/tool/redis-6.2.9/src/redis-sentinel /usr/local/redis/etc/sentinel.conf --sentinel
ExecStop=/opt/tool/redis-6.2.9/src/redis-cli -h 127.0.0.1 -p 26379 shutdown
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

2.2.5、创建链接并刷新配置

ln -s /lib/systemd/system/redis-sentinel.service /etc/systemd/system/multi-user.target.wants/redis-sentinel.service
systemctl daemon-reload

2.2.6、修改master主机的配置文件(仅master执行)

vim /usr/local/redis/etc/redis.conf
masterauth 123456

2.2.7、重启redis服务(仅master执行)

systemctl restart redis

2.2.8、启动哨兵服务(三台机器均需操作)

systemctl start redis-sentinel

2.2.9、开放指定端口

firewall-cmd --add-port=26379/tcp --permanent
# 端口生效
firewall-cmd --reload
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值