准备阶段
第一步
准备三台机器,最小集群需要的机器数
1号、2号、3号
第二步
下载redis包本次操作用的3.2.9版本。
下载地址:https://redis.io/download
第三步
准备解压,尽量找一个空间大的盘,使用df -h查看
我解压到 /opt/redis 下的
第四步
关闭防火墙
开始安装
第一步
编译解压后的文件
执行make
第二步
创建相关数据文件夹(三台机器都要创建)
找一个盘空间大的创建 mkdir redis 然后再 redis下再创建 mkdir data
第三步
在解压的目录下 编辑redis.conf(主服务器上这么写)
vi redis.conf
port 6379
daemonize yes
bind 0.0.0.0
pidfile "/u01/redis/data/redis-6379.pid" #自己刚刚创建目录就行了
logfile "/u01/redis/data/redis-6379.log"
# Generated by CONFIG REWRITE
dir "/u01/redis/data" #自己创建目录
protected-mode no
第四步
在重服务器上编辑 redis.conf
port 6379
daemonize yes
bind 0.0.0.0
pidfile "/u01/redis/data/redis-6379.pid"
logfile "/u01/redis/data/redis-6379.log"
# Generated by CONFIG REWRITE
dir "/u01/redis/data"
protected-mode no
slaveof 10.10.10.161 6379 #写上redis主服务器的ip加端口
第五步
然后启动 redis服务(三台服务上执行)
在安装redis的目录下的src中执行./redis-server /解压目录下/redis.conf
第六步
然后进入命令行 查看 三台的主备情况
在安装redis的目录下的src中执行./redis-cli 然后再执行info replication或者
./redis-cli -h 10.64.25.161 -p 6379 info
redis-sentinel系统搭建
第一步
安装redis的时候 已经安装好了sentinel
修改安装目录下的sentinel.conf(三台机器都一样)
daemonize yes
port 26379 #注意这儿的端口
logfile "/u01/redis/data/sentinel.log"
pidfile "/u01/redis/data/sentinel.pid"
dir "/u01/redis/data"
sentinel monitor master6379 10.64.25.161 6379 2 #主服务的ip
protected-mode no
# Generated by CONFIG REWRITE
sentinel down-after-milliseconds master6379 5000
sentinel failover-timeout master6379 15000
sentinel client-reconfig-script master6379 /u01/redis/vipmaster.sh
第二步
上面的sentinel.conf里面有个vipmaster.sh,写一个虚拟ip的漂移
#!/bin/bash
MASTER_IP=$6
LOCAL_IP='10.64.25.155' #(每个服务器上面的ip地址,各写各的)
VIP='10.64.25.169'
NETMASK='24'
INTERFACE='ens32'
if [ ${MASTER_IP} = ${LOCAL_IP} ];then
echo "$(date):true ${MASTER_IP}"
echo "$(date):true ${MASTER_IP}" >> /u01/redis.log
/sbin/ip addr add ${VIP}/${NETMASK} dev ${INTERFACE}
/sbin/arping -q -c 3 -A ${VIP} -I ${INTERFACE}
exit 0
else
echo "$(date):false ${MASTER_IP}"
echo "$(date):false ${MASTER_IP}" >> /u01/redis.log
/sbin/ip addr del ${VIP}/${NETMASK} dev ${INTERFACE}
exit 0
fi
exit 1
第三步
必须要在主服务器手动绑定一个虚拟ip再启动 sentinel
/sbin/ip addr add 虚拟ip/24 dev ens32 有些是eth1(可根据 ifconfig命令查看)
/sbin/arping -q -c 3 -A 虚拟ip -I ens32
然后再启动sentinel
在安装redis的目录下的src中执行 ./redis-sentinel /安装目录下的/sentinel.conf
查看 sentinel情况
查看 sentinel情况