一、搭建Redis集群
首先我们根据之前的教程,在三台服务器上分别安装Redis服务。博主三台服务器的主机名分别为sparkproject1、sparkproject2、sparkproject3。其中sparkproject1机器上的redis作为master,sparkproject2的redis作为slave,sparkproject3只搭建了redis实例。
二、哨兵集群的配置
我们首先配置sparkproject1服务器上的sentinal。在redis的安装路径下,我们通过vi编辑sentinel.conf文件。需要配置的地方如下(其余的配置默认即可):
# 因为我们要做哨兵集群,所以不能是bind 127.0.0.1,这里我们修改成:bind ip/主机名(对于sparkproject2和sparkproject3只有这个bind配置有区别)
bind sparkproject1
# 修改默认端口,这里修改为5000
port 5000
# 后台启动哨兵
daemonize yes
# 指定日志输出路径
logfile /var/log/sentinel/5000.log
# 指定工作目录
dir /var/sentinel/5000
# 指定master的地址
sentinel monitor mymaster sparkproject1 6379 2
# 注意注意,如果master节点有安全认证,这里比如配置连接口令,否则启动sentinel时会报master sdown
sentinel auth-pass mymaster redis-pwd
做了上面配置后,我们需要去创建相关的目录和文件:
mkdir /etc/sentinel
mkdir -p /var/sentinel/5000
cp /usr/local/redis/sentinel.conf /etc/sentinel
mv /etc/sentinel/sentinel.conf /etc/sentinel/5000.conf
mkdir -p /var/log/sentinel
这样,sparkproject1这台机器的哨兵配置已经配置好了。同理,去配置sparkproject2和sparkproject3的哨兵配置。
三、启动哨兵进程
在sparkproject1、sparkproject2、sparkproject3三台机器上,分别启动三个哨兵进程组成一个集群,观察一下日志的输出。
redis-sentinel /etc/sentinel/5000.conf
或者
redis-server /etc/sentinel/5000.conf --sentinel
日志输出如下:
四、检查哨兵状态
1、通过:redis-cli -h sparkproject1 -p 5000连接到sentinel。
2、通过:sentinel master mymaster查看master的信息。
3、通过:sentinel slaves mymaster查看从节点信息。
4、通过:sentinel sentinels mymaster查看哨兵集群信息。
5、通过:sentinels get-master-addr-by-name mymaster查看主节点的概要信息。