redis集群之使用浮动vip实现故障切换全过程

本文介绍了在生产环境中如何使用Redis集群,通过浮动VIP实现故障切换。详细步骤包括配置IP、安装Redis、设置主从关系、配置哨兵和浮动VIP脚本。当主数据库服务器关闭时,从库能在短时间内接管并保持服务可用性,故障恢复后原主库自动变为从库。
摘要由CSDN通过智能技术生成

目录

 

生产环境:

搭建步骤:

搭建的整体过程:

1.配置IP (只举例一台配置过程)

2.配置redis服务器(只举例一台配置过程)

3.更改redis的配置文件,指定主从

4.编写哨兵文件 (每台redis服务器上都要进行以下的配置)

5.编写浮动vip脚本  (每台redis服务器上都要进行以下的配置)

效果验证

1.在后台启动哨兵(每台redis服务器上都要进行以下的配置)

2.主数据库服务的效果:

3.从数据库服务的效果 (只展示一台redis数据库服务器的效果)

4.使用vip可以看到的主库的信息

测试过程

1.把主数据库服务器关机后可以看到的效果

2.用vip可以看到此时主数据库以及变化,相应的从库信息也变化了

3.可以看到此时主数据库服务器是192.168.4.23上了

4.原来的主数据库192.168.4.21修复好后重新加入集群后,将自动编程当前集群的从库


生产环境:

      使用三台装有redis的服务器实现一台做主数据库服务器两台做从数据库服务器,在使用哨兵监控三台服务器。使得当主数据库服务器发生故障的时候,从数据库服务器可以在一定的时间内切换成主数据库服务器,在使用浮动vip的技术实现读写分离。

搭建步骤:

1.三台服务器配置ip地址分别是192.168.4.21    192.168.4.22     192.168.4.23

2.在三台服务器上配置redis服务器   redis-3.2.11

3.更改redis的配置文件,指定主从。

4.编写哨兵文件

5.编写浮动vip脚本

搭建的整体过程:

 

1.配置IP (只举例一台配置过程)

[root@redis21 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.21/24 connection.autoconnect yes
[root@redis21 ~]# nmcli connection up eth0

2.配置redis服务器(只举例一台配置过程)

[root@redis21 ~]# tar -xaf redis-3.2.11.tar.gz

[root@redis21 ~]# yum install -y  gcc gcc-c++
[root@redis21 ~]# cd redis-3.2.11/
[root@redis21 redis-3.2.11]# make

[root@redis21 redis-3.2.11]# make install

[root@redis21 redis-3.2.11]# cd utils/

[root@redis21 utils]# ls
build-static-symbols.tcl  corrupt_rdb.c   generate-command-help.rb  hyperloglog        lru            redis_init_script      redis-sha1.rb  speed-regression.tcl
cluster_fail_time.tcl     create-cluster  hashtable                 install_server.sh  redis-copy.rb  redis_init_script.tpl  releasetools   whatisdoing.sh

[root@redis21 utils]# ./install_server.sh 
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379] 
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] 
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] 
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] 
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] 
Selected config:
Port           : 6379
Config file    : /etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!

[root@redis21 utils]# ss -untlp | grep redis
tcp    LISTEN     0      128    127.0.0.1:6379                  *:*                   users:(("redis-server",pid=5016,fd=4))
 

3.更改redis的配置文件,指定主从

 

主库的配置 (使用192.168.4.21做主机)

[root@redis21 ~]# vim /etc/redis/6379.conf
  62 bind 0.0.0.0

   85 port 6379

 129 daemonize yes
 [root@redis21 ~]# vim /etc/init.d/redis_6379 +43

$CLIEXEC -h 192.168.4.21  -p $REDISPORT shutdown

从库的配置(192.168.4.22,192.168.4.23) 在这两台机器上做以下相同的配置

[root@redis22 ~]# vim /etc/redis/6379.conf
  62 bind 192.168.4.22  

   85 port 6379

 129 daemonize yes

266 slaveof 192.168.4.21 6379

[root@redis22 ~]# vim /etc/init.d/redis_6379 +43

$C

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值