redis sentinel集群搭建
1、集群配置:
node1、node2、node3
2、redis下载:
wget https://download.redis.io/releases/redis-6.2.5.tar.gz
3、redis安装:
#gcc 用于make 、tcl 用于 make test
a、yum install gcc tcl -y
若编译失败,可使用make distclean回滚
b、make PREFIX=/opt/redis-6.2.5 install
c、配置redis环境变量
REDIS_HOME=/opt/redis-6.2.5
PATH=$PATH:$HOME/bin:$REDIS_HOME/bin
d、拷贝配置文件
cp redis.conf sentinel.conf /opt/redis-6.2.5/
e、修改配置文件
使其可以接受外部连接
bind * -::*
4、redis启动
node1:
redis-server /opt/redis-6.2.5/redis.conf
node2、node3:
redis-server /opt/redis-6.2.5/redis.conf --replicaof 192.168.1.21 6379
5、修改sentinel配置
#node1、node2、node3
port 26379
sentinel monitor mymaster 192.168.1.21 6379 2
6、启动sentinel
redis-server /opt/redis-6.2.5/sentinel.conf --sentinel
问题:
a、可能会出现sentinel启动后,+sdown slave 的问题。原因是无法连接到slave节点的redis。可通过redis-server -h 192.168.1.22 -p 6379检查连接是否正常。
b、启动redis时报FATAL CONFIG FILE ERROR的错误。原因暂未查明,解决办法是使用redis-server绝对路径及redis配置文件的绝对路径。
7、实验
将 node1节点(master节点)的redis服务停止,sentinel 通过选举在slave节点产生新的master节点,从而实现自动failover。