一、环境准备
分别准备三台服务器,IP分别为172.17.2.100,172.17.2.101,172.17.2.102操作系统选择的是Centos7.4,redis版本采用的是redis-3.2.11。
二、安装redis服务。
1、安装redis服务,全部服务器同样操作,已172.17.2.100为例
yum -y install gcc make automake pkgconfig ##安装源码变异的依赖包
tar -xf redis-3.2.11.tar.gz ##解压tar包
cd redis-3.2.11/ ##进入tar包目录
make MALLOC=libc ##源码编译,设定类库
useradd -s /sbin/nologin -d /var/lib/redis redis ##创建进程运行的账户,并制定家目录
make install PREFIX=/usr/local/redis ##安装,并制定安装路径
mkdir /usr/local/redis/conf ##创建配置文件的目录
源码包里面是包含了redis的配置文件和哨兵的配置文件的
cp *.conf /usr/local/redis/conf/ ##把配置文件拷贝到配置文件目录下
需要修改的内容是这5项,分别是坚挺的地址,是否关闭保护模块(不关闭,就是单机),端口,是否打开守护进程,工作目录
vim /usr/local/redis/conf/redis.conf
启动redis
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ln -s /usr/local/redis/bin/redis-cli /usr/sbin/ ##创建个链接程序的链接
redis启动成功。默认role是master
三、部署redis集群,一主二从的架构,100为主,101和102为从
简单2条命令,就设置好主从关系了。从100的redis上查询到同步信息。
四、配置哨兵配置文件
这五项,分别是哨兵的端口,工作目录,主库信息,主库宕机计算时间,超时时间
我们设置成以下(新增几项)
文件的最后还有这么一个配置,是切换脚本的路径。
打开注释,启动它
然后把哨兵配置文件同步给其他机器
接下来我们要创建切换脚本了。路径就按照文件写的
mkdir /var/redis
vim /var/redis/reconfig.sh
给予执行的权限,把脚本同步给其他机器
全部机器启动哨兵
/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sentinel.conf
链接进去哨兵,查看监听状态
状态正常,master是100,从有2个,哨兵有3个。
五、绑定VIP,尝试VIP登录master。然后模拟master故障,看看VIP是否正常切换
VIP正常使用
接下来模拟master的redis故障。
目前master的redis已经关闭了。我们检查一下,VIP在哪?master又是谁了?
VIP已经到了102了、我们在看看,master是谁了?
102,变成了master了。完美解决redis的高可通。