当前位置:   article > 正文

Redis-哨兵模式集群搭建_redis哨兵集群部署

redis哨兵集群部署

一、环境信息

1、版本要求

redis2.6版本开始提供,稳定版本为2.8及之后。

2、服务节点个数要求

至少需部署3个且奇数个哨兵节点;

3、特性

哨兵进程作用:监控、提醒、自动故障转移,配置提醒者

优点:基于主从模式的升级,解决主从复制的缺陷

缺点:在线扩容困难、配置繁琐

4、投产部署说明

本文档是在一台服务器上启动了6个实例进行演示。实际投产部署时,每个节点应该对应一台服务器,每个节点配置为自己主机的IP信息即可。

5、本文当部署信息

  1. - [ ] - | | | redis哨兵模式部署 | |
    |
    | :-----: | :-------: | :---------------: | :-------: | :-------: |
    | 系统 | 角色 | IP | redis端口 | Redis版本 |
    | CentOS7 | Master | 192.168.100.135 | 7000 | 6.0.20 |
    | CentOS7 | Slave1 | 192.168.100.135 | 7001 | 6.0.20 |
    | CentOS7 | Slave2 | 192.168.100.135 | 7002 | 6.0.20 |
    | CentOS7 | Sentinel1 | 192.168.100.135 | 26379 | 6.0.20 |
    | CentOS7 | Sentinel2 | 192.168.100.135 | 26380 | 6.0.20 |
    | CentOS7 | Sentinel3 | 192.168.100.135 | 26381 | 6.0.20 |
    请添加图片描述

注:默认使用root权限账户进行安装部署

二、Redis哨兵模式部署

请添加图片描述

(1)创建配置文件目录

  • mkdir /usr/local/redis-sentinel # 自行指定路径
  • mkdir /usr/local/redis-sentinel/data # 自行指定路径
  • mkdir /usr/local/redis-sentinel/run # 自行指定路径

(2)配置主节点

  • vim /usr/local/redis-sentinel/redis-7000.conf #新建配置文件

添加信息如下

#928注释
port 7000
daemonize yes
pidfile /usr/local/redis-sentinel/run/redis-7000.pid
logfile /usr/local/redis-sentinel/log/redis-7000.log
dir /usr/local/redis-sentinel/data
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

(3)配置从节点

本文档主从节点在同一服务器,实际生成部署时需要替换为主节点IP和端口

  • vim /usr/local/redis-sentinel/redis-7001.conf #新建配置文件
#928注释
port 7001
daemonize yes
pidfile /usr/local/redis-sentinel/run/redis-7001.pid
logfile /usr/local/redis-sentinel/log/redis-7001.log
dir /usr/local/redis-sentinel/data
slaveof 127.0.0.1 7000
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • vim /usr/local/redis-sentinel/redis-7002.conf #新建配置文件

    
    #928注释
    port 7002
    daemonize yes
    pidfile /usr/local/redis-sentinel/run/redis-7002.pid
    logfile /usr/local/redis-sentinel/log/redis-7002.log
    dir /usr/local/redis-sentinel/data
    slaveof 127.0.0.1 7000
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

(4)启动主、从节点

  • 如果在同一服务器中,需要将安装配置好的redis配置文件复制一份到/usr/local/redis-sentinel/下
/usr/local/redis-sentinel/下  新建

bin
bin下存储的文件
redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli,redis-sentinel,redis-cli

log

run

conf
将redis的配置文件放到conf文件夹下
redis-7000.conf
redis-7001.conf
redis-7002.conf

后三个配置文件为后边配置,此处表面都在该目录下
redis-sentinel-26379.conf
redis-sentinel-26380.conf
redis-sentinel-26381.conf
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

找到/usr/local/redis-sentinel/bin

因为该目录下有redis-server

开始启动主从节点

redis-server /usr/local/redis-sentinel/redis-7000.conf

redis-server /usr/local/redis-sentinel/redis-7001.conf

redis-server /usr/local/redis-sentinel/redis-7002.conf


ps -ef | grep redis 查看redis节点进程信息
下图前三个为启动的redis进程,后三个还没有启动
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

请添加图片描述

(5)查看主节点配置信息

分别连接主从节点客户端,在客户端使用info replication 命令查看角色信息

/usr/local/redis-sentinel/bin

在该目录下有redis-cli,执行如下命令

1-主节点信息
./redis-cli -p 7000

ping

info replication

退出用quit

查看主机节点信息如下:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

请添加图片描述

2-从节点Slave1信息
./redis-cli -p 7001

ping

info replication

退出用quit

Slave1从节点信息如下

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

请添加图片描述

3-从节点Slave2信息
./redis-cli -p 7002

ping

info replication

退出用quit

Slave2从节点信息如下
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

请添加图片描述

(6)配置哨兵

注意:

#拷贝Sentinel配置文件


此处会用到redis-sentinel

将redis-sentinel文件复制到新建的配置文件/usr/local/redis-sentinel/conf/  下
如果没有找到该文件,则去/usr/local/redis/src下找,前边已经将该文件放到/usr/local/redis/bin下


cp /usr/local/redis/bin/redis-sentinel.conf /usr/local/redis-sentinel/conf/  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

将redis-sentinel文件通过以下命令进行拷贝

cd /usr/local/redis-sentinel/conf
(也就是sentinel.conf存在的目录)

#拷贝文件并去除空行和注释
cat sentinel.conf | grep -v “#” | grep -v “^$” > redis-sentinel-26379.conf

cat sentinel.conf | grep -v “#” | grep -v “^$” > redis-sentinel-26380.conf

cat sentinel.conf | grep -v “#” | grep -v “^$” > redis-sentinel-26381.conf

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
执行完以上三条命令后,会出现相应的的xxx-xxx-xxx.conf文件
然后进行对其编辑
vim redis-sentinel-26379.conf,#修改后配置信息如下
里边的信息与下图不一致,需要重新看这几个位置,自己配置,路径是文件的路径
  • 1
  • 2
  • 3
  • 4
1、redis-sentinel-26379.conf

请添加图片描述

2、redis-sentinel-26380.conf
vim redis-sentinel-26379.conf,#修改后配置信息如下
里边的信息与下图不一致,需要重新看这几个位置,自己配置,路径是文件的路径
  • 1
  • 2

请添加图片描述

3、redis-sentinel-26381.conf
vim redis-sentinel-26379.conf,#修改后配置信息如下
里边的信息与下图不一致,需要重新看这几个位置,自己配置,路径是文件的路径

  • 1
  • 2
  • 3

请添加图片描述

(7)启动哨兵

注意:

cd /usr/local/redis-sentinel/bin
因为此目录下有之前复制过来的 redis-sentinel文件
若没有,则去安装reids的目录下的src下寻找,如果没有此处应该从
/usr/local/redis/src  下寻找redis-sentinel文件
  • 1
  • 2
  • 3
  • 4
redis-sentinel redis-sentinel-26379.conf

redis-sentinel redis-sentinel-26380.conf

redis-sentinel redis-sentinel-26381.conf

# 查看哨兵进程信息
ps -ef | grep redis-sentinel  

如下图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

请添加图片描述

(8)查看哨兵模式集群信息

# 查看哨兵模式各节点进程信息
ps -ef | grep redis

如下图
  • 1
  • 2
  • 3
  • 4

请添加图片描述

cd /usr/local/redis-sentinel/bin

 #使用redis客户端连接到Sentinel
 ping
./redis-cli -p 26379
如下图

连接后使用ping命令查看redis主从服务是否正常;返回PONG正常
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

请添加图片描述

使用
info sentinel 查看哨兵配置信息
可以看到本集群已搭建好:3各sentinel、一个master节点、两个slave节点
  • 1
  • 2
  • 3

请添加图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/989328
推荐阅读
相关标签
  

闽ICP备14008679号