CentOS7.8 环境搭建 Redis 主从复制和哨兵模式
本节我们搭建 Redis 主从复制和哨兵模式集群,集群的好处是把数据分散到不同的服务器上,解决网站中的很多高并发,高负载等问题,很好的提高网站的性能,也能解决 mysql 的数据读写问题,所以我们搭建集群非常有必要,而且在大网站中都是必须上的技能 - 简称 “缓存必杀技”。
下面我们开始做好准备工作:
一、环境和版本#
准备三台 Linux 服务器 centos7 系统(本地虚拟机 - 土豪可以买云上服务器)
192.168.1.101
192.168.1.102
192.168.1.103
Redis:redis-6.0.3(最新版本)
二、Redis 安装与启动 (大家按步执行)#
1、下载 redis(官方安装方法)#
[root@localhost local]# cd /usr/local/src
[root@localhost src]# wget http://download.redis.io/releases/redis-6.0.3.tar.gz
2、安装解压编译安装
[root@localhost src]# tar xzf redis-6.0.3.tar.gz
[root@localhost src]# cd redis-6.0.3
[root@localhost redis-6.0.3]# make
3、错误解决(出现以下错误)
a、执行:yum -y install gcc-c++
yum -y install gcc-c++
b、清除编译文件:make clean
make clean
c、然后执行:make
make
d、如果还报这个错误,删除 redis 文件夹,重新解压。
e、命令:
rm -rf redis-6.0.3
cd redis-6.0.3
make CFLAGS="-march=x86-64"
#执行这个命令才行,不然也是安装失败,如果你们直接make可以编译完成就无需执行这个命令。
4、启动服务#
[root@localhost redis-6.0.3]# cd src
[root@localhost src]# redis-server redis.conf
5、配置进程启动,修改 /usr/local/src/redis.conf#
daemonize yes
6、进程查看关闭#
[root@localhost redis-6.0.3]# ./src/redis-server redis.conf
[root@localhost redis-6.0.3]# ps -aux | grep redis
[root@localhost redis-6.0.3]# kill -9 840
三、配置开机启动#
1、相关配置#
[root@localhost init.d]# cd /etc
[root@localhost etc]# mkdir redis
[root@localhost etc]# cp /usr/local/src/redis-6.0.3/redis.conf /etc/redis/6379.conf
[root@localhost etc]# cd redis/
[root@localhost redis]# cp /usr/local/src/redis-6.0.3 /utils/redis_init_script /etc/init.d/redisd
[root@localhost redis]# chkconfig redisd on #开机启动命令
2、服务启动关闭#
[root@localhost redis]# service redisd start #开启
[root@localhost redis]# service redisd stop #关闭
3、重启虚拟机查看 Redis 状态#
[root@localhost ~]# ps -aux | grep redis
root 21907 0.0 0.4 145256 4504 pts/0 Sl+ 15:51 0:00 redis-server *:6379
root 21980 0.0 0.0 110228 888 pts/1 R+ 15:55 0:00 grep --color redis
四、解决客户端连接问题#
关闭防火墙,或者开放 6379 端口
firewalld的基本使用
启动:systemctl start firewalld
关闭:systemctl stop firewalld
查看状态:systemctl status firewalld
开机禁用 :systemctl disable firewalld
开机启用 :systemctl enable firewalld
修改 redis.conf 配置
注释掉:# bind 127.0.0.1
修改保护模式:protected-mode no
备注:以上配置只演示了一台服务器安装 redis,其他 2 台按同样方法进行安装,先把 redis 服务安装完成,再进入以下哨兵模式配置。#
五、sentinel 哨兵模式#
1、基础配置#
192.168.1.101 主服务
192.168.1.102 从服务
192.168.1.103 从服务
2、配置主服务 redis.conf#
requirepass 123456
masterauth 123456
3、配置从服务 redis.conf#
requirepass 123456
slaveof 192.168.1.101 6379
masterauth 123456
4、配置 sentinel.conf#
protected-mode no
# sentinel monitor代表监控
# mymaster代表服务器的名称,可以自定义(不可重复即可),# 192.168.1.101 代表监控的主服务器,6379代表端口,# 2 标识 >=2 哨兵认为主服务器不可用,执行failover操作。
sentinel monitor mymaster 192.168.1.101 6379 2
sentinel auth-pass mymaster 123456
5、启动服务 (先主服务,后从服务)#
[root@localhost src]#./redis-server ../redis.conf
[root@localhost src]#./redis-server ../sentinel.conf --sentinel
好了,主从复制集群搭建完毕!
更多内容请关注公众号(Laravel 技术社区)
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: