手把手教你在Centos7服务器搭建Redis哨兵(1主2从3哨兵)

说明:因个人又穷又懒,只准备了一台服务器(伪集群),实际生产环境肯定不会这么玩,单台服务器宕机会导致这样部署没什么意义,这里只是为了学习,原理一样。

 

目录

1.基础环境

2.Redis下载

3.安装包文件上传

4.安装包拷贝及解压:

5.编译安装

6.命令及配置拷贝

7.配置Redis服务器(1主2从)

7.1配置Redis主服务器

7.2.配置Redis从服务器1

 7.3.配置Redis从服务器2

8.配置哨兵

9.启动服务器

10.启动哨兵

11.验证Redis集群及哨兵系统运行

12.验证主服务器掉线,哨兵系统是不是起作用

 13.验证主服务器掉线后重新上线,角色变化


1.基础环境

  • Linux系统:Centos7

  • Redis版本

2.Redis下载

推荐官 下载:Redis 

3.安装包文件上传

        上传软件压缩包到Linux服务器指定位置, 将redis-6.2.5.tar.gz上传到/opt/software/redis目录下 (具体路径视个人情况而定),同时在/opt/software/redis目录下新建如下几个文件夹:

  • bin
  • conf 
  • master
  • slave1
  • slave2 

建完后,如下: 

4.安装包拷贝及解压:

将安装包分别拷贝到master、slave1、slave2文件夹,然后分别进行解压

tar -zxvf redis-6.2.5.tar.gz

5.编译安装

进入/opt/software/redis/master/redis-6.2.5执行:

make && make install

6.命令及配置拷贝

将命令及配置分别拷贝到bin和conf文件夹

目前路径:/opt/software/redis/master/redis-6.2.5  (注意自己的路径,不然直接复制下面命令执行会出问题)

cp src/redis-server ../../bin

cp src/redis-cli ../../bin

cp src/redis-sentinel ../../bin

cp redis.conf  ../../bin/redis.conf

cp sentinel.conf ../../conf/

cp redis.conf  ../../conf/ 

7.配置Redis服务器(1主2从)

7.1配置Redis主服务器

目前路径:/opt/software/redis/master/redis-6.2.5  (注意自己的路径,不然直接复制下面命令执行会出问题)

  • 进入conf文件夹,复制出来一个主服务器的配置文件:

cd ../../conf

cp redis.conf redis-master-6379.conf

  • 修改 redis-master-6379.conf(修改如下项):

bind 0.0.0.0

port 6379

daemonize yes

pidfile “/var/run/redis_6379.pid”

masterauth “123456”

requirepass “123456”

7.2.配置Redis从服务器1

目前路径:/opt/software/redis/conf  (注意自己的路径,不然直接复制下面命令执行会出问题)

  • 复制出来一个从服务器的配置文件:

cp redis.conf redis-slave1-6380.conf

  • 修改redis-slave1-6380.conf(修改如下项):

bind 0.0.0.0

port 6380

daemonize yes

pidfile “/var/run/redis_6380.pid”

masterauth “123456”

requirepass “123456”

 7.3.配置Redis从服务器2

目前路径:/opt/software/redis/conf  (注意自己的路径,不然直接复制下面命令执行会出问题)

  • 复制出来一个从服务器的配置文件:

cp redis.conf redis-slave1-6381.conf

  • 修改redis-slave1-6381.conf(修改如下项):

bind 0.0.0.0

port 6381

daemonize yes

pidfile “/var/run/redis_6381.pid”

masterauth “123456”

requirepass “123456”

8.配置哨兵

说明:复制粘贴累了,这里只以一个哨兵节点配置为例,另外两个节点参考下面进行设置即可

目前路径:/opt/software/redis/conf  (注意自己的路径,不然直接复制下面命令执行会出问题)

  • 复制出来一个哨兵的配置文件:

cp sentinel.conf sentinel-26379.conf

  • 修改 sentinel-26379.conf(修改如下项):

 port 26379

daemonize yes

pidfile “/var/run/redis-sentinel-26379.pid”

sentinel monitor mymaster 127.0.0.1 6379 2

sentinel auth-pass mymaster 123456

9.启动服务器

目前路径:/opt/software/redis (注意自己的路径,不然直接复制下面命令执行会出问题)

bin/redis-server conf/redis-master-6379.conf

bin/redis-server conf/redis-slave1-6380.conf

bin/redis-server conf/redis-slave2-6381.conf

10.启动哨兵

目前路径:/opt/software/redis (注意自己的路径,不然直接复制下面命令执行会出问题)

bin/redis-sentinel conf/sentinel-26379.conf

bin/redis-sentinel conf/sentinel-26380.conf

bin/redis-sentinel conf/sentinel-26381.conf

11.验证Redis集群及哨兵系统运行

目前路径:/opt/software/redis (注意自己的路径,不然直接复制下面命令执行会出问题)

  • 通过redis-cli连接主服务器(6379机器)

bin/redis-cli -p 6379

  •  查看运行情况:

info结果(截取部分) 

可以看到当前服务器角色为master,同时连接它的有两个slave节点 

12.验证主服务器掉线,哨兵系统是不是起作用

  • 关闭当前主服务器

  • 连接6380服务器,通过info命令查看:

  • info结果(截取部分) 

可以看到当前6380节点在master节点(6379节点)宕机后,角色已经发生了变化,由slave->master,同时连接它的slave节点有1个。

 13.验证主服务器掉线后重新上线,角色变化

目前路径:/opt/software/redis (注意自己的路径,不然直接复制下面命令执行会出问题)

  • 启动6379服务器

bin/redis-server conf/redis-master-6379.conf

  •  连接6379服务器并通过info查看状态:

 

  • info结果(截取部分) 

 可以看到原有6379节点重新上线后,角色由原来的master变成了slave,同时连向现在的master节点(6380)。

自此,从头搭建完毕。。。

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux25097 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月16日
下一篇 2021年8月16日

相关推荐