记录 redis 集群搭建

准备阶段

第一步

准备三台机器,最小集群需要的机器数

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情况

猜你喜欢

转载自blog.csdn.net/liaoxiaolin520/article/details/88049321