本节我们搭建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技术社区)