Redis Sentinel 哨兵模式安装配置

  • Post author:
  • Post category:其他


Redis哨兵模式(Sentinel)是Redis的高可用性的解决方案:由一个或者多个Sentinel实例(instance)组成的Sentinel系统可以监视任意多个主服务器,以及这些服务器下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由主服务器代替已下线的主服务器继续处理命令请求。

一. Redis 安装

1.通过ssh连接到linux服务器

2.安装Redis到 /data/redis

  • mkdir /data/redis //创建redis文件夹
  • cd /data/redis //进入文件夹
  • wget http://download.redis.io/releases/redis-4.0.9.tar.gz //下载文件 我这里选择是4.0.9版本
  • tar xzf redis-4.0.9.tar.gz //解压
  • cd redis-4.0.9 //进入目录
  • make  //编译

二.Redis sentinel配置

Redis主从配置,配置master 只能为写,slave只能为读,从而实现读写分离,在客户端对poolconnect请求时候,,会将读请求转到slave上面,写请求转到master上面,同时,master和slave有同步功能,这就实现了(数据层)读写分离对上层(逻辑层)透明的正常逻辑。无需再通过中间件或者代码进行读写分析实现。

1.复制Redis目录

  • mkdir  /data/redis/master //创建主服务目录
  • mkdir  /data/redis/slave1 //创建从服务1目录
  • mkdir  /data/redis/slave2 //创建从服务2目录
  • cp -r /data/redis/redis-4.0.9  /data/redis/master
  • cp -r /data/redis/redis-4.0.9  /data/redis/slave1
  • cp -r /data/redis/redis-4.0.9  /data/redis/slave2

2.修改master配置

  • cd  /data/redis/master
  • vi   redis.conf //编辑配置

master中 redis.conf具体配置如下:

#———–auth———–

requirepass “root123”

masterauth “root123”

daemonize yes

#———–dir———–

dir “/data/redis/master”

pidfile “/data/redis/master/redis.pid”

loglevel notice

logfile “/data/redis/master/6379.log”

dir “/data/redis/master”

databases 16

port 6379

tcp-backlog 511

timeout 0

#———–sync———–

save 3600 1

save 1800 1000

save 900 10000

3.修改slave1(slave2)中redis.conf配置

  • cd  /data/redis/slave1
  • vi   redis.conf //编辑配置

slave1中 redis.conf具体配置如下:

#———–auth———–

requirepass “root123”

masterauth “root123”

daemonize yes

//服务器转变为指定服务器的从属服务器 如果是在别的主机上安装这里的IP改为主服务器所属机器IP,这里暂写127.0.0.1


slaveof 127.0.0.1 6379


#———–dir———–

dir “/data/redis/slave1”

pidfile “/data/redis/slave1/redis.pid”

loglevel notice

logfile “/data/redis/slave1/6380.log”

dir “/data/redis/slave1”

databases 16

port 6380

tcp-backlog 511

timeout 0

#———–sync———–

save 3600 1

save 1800 1000

save 900 10000

4.修改slave1(slave2)中sentinel.conf配置

  • cd  /data/redis/slave1
  • vi   sentinel.conf //编辑配置

slave1中 sentinel.conf 具体配置如下:

port 26379

daemonize yes

logfile “/data/redis/slave1/sentinel.log”


protected-mode no

sentinel auth-pass mymaster root123

//这里配置写上主服务器IP 端口 2个sentinel选举成功后才有效

sentinel monitor mymaster 127.0.0.1 6379 2

三.启动redis sentinel 服务

cd /data/redis/master //进入主服务器目录

redis-server redis.conf //启动主服务

cd ../slave1/ //进入从1服务

redis-server redis.conf //启动从服务

redis-server sentinel.conf –sentinel //启动从1哨兵

cd ../slave2/ //进入从2服务

redis-server redis.conf //启动从服务

redis-server sentinel.conf –sentinel //启动从2哨兵

参考:

https://blog.csdn.net/qq_18427977/article/details/80930937



版权声明:本文为dengbixuan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。