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(官方安装方法)

Centos7.8环境搭建Redis主从复制和哨兵模式

[root@localhost local]# cd /usr/local/src
[root@localhost src]# wget http://download.redis.io/releases/redis-6.0.3.tar.gz

Centos7.8环境搭建Redis主从复制和哨兵模式

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、错误解决(出现以下错误)

Centos7.8环境搭建Redis主从复制和哨兵模式

a、执行:yum -y install gcc-c++

yum -y install gcc-c++

Centos7.8环境搭建Redis主从复制和哨兵模式

b、清除编译文件:make clean

make clean

c、然后执行:make

make

d、如果还报这个错误,删除redis文件夹,重新解压。

Centos7.8环境搭建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

Centos7.8环境搭建Redis主从复制和哨兵模式

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

Centos7.8环境搭建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哨兵模式

Centos7.8环境搭建Redis主从复制和哨兵模式

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

Centos7.8环境搭建Redis主从复制和哨兵模式

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

Centos7.8环境搭建Redis主从复制和哨兵模式

好了,主从复制集群搭建完毕!
更多内容请关注公众号Laravel技术社区

本作品采用《CC 协议》,转载必须注明作者和本文链接
让编程成为一种习惯!
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!