前言:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。

Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个usr/localend only file(aof)里面(这称为“全持久化模式”)。

为了提升redis高可用性,我们除了备份redis dump数据之外,还需要创建redis主从架构,可以利用从将数据库持久化(数据持久化通俗讲就是把数据保存到磁盘上,保证不会因为断电等因素丢失数据。

redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式。)

什么是redis的主从复制呢?

Redis主从复制,当用户往Master端写入数据时,通过Redis Sync机制将数据文件发送至Slave,Slave也会执行相同的操作确保数据一致;且实现Redis的主从复制非常简单。同时slave上还可以开启二级slave,三级slave从库,跟MySQL的主从类似。

安装redis可以参考上一次课程哦,这里直接安装slave,只需要在slave redis.conf配置文件中加入如下语句即可:

1
slaveof 192.168.33.10 6379  # slaveofmaster的ip master的端口。

一、安装Keepalived:

1
2
3
4
5
tar zxf keepalived-1.2.1.tar.gz 
cd keepalived-1.2.1&&./configure --with-kernel-dir=/usr/src/kernels/2.6.18* &&make&& make install 
DIR=/usr/local/ ;cp $DIR/etc/rc.d/init.d/keepalived  /etc/rc.d/init.d/
cp $DIR/etc/sysconfig/keepalived /etc/sysconfig/ &&mkdir -p /etc/keepalived
cp $DIR/sbin/keepalived /usr/sbin/

二、配置Keepalived:

vi /etc/keepalived/keepalied.conf

! Configuration File for keepalived

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
global_defs { 
   notification_email{ 
      wgkgood@139.com 
   
   notification_email_fromwgkgood@139.com 
   smtp_server127.0.0.1 
   smtp_connect_timeout30 
   router_idLVS_DEVEL 
# VIP1 
vrrp_instance VI_1 { 
    state BACKUP   
    interface eth0 
   lvs_sync_daemon_inteface eth0 
    virtual_router_id151 
    priority 100 
    advert_int 5 
    nopreempt 
    authentication { 
        auth_typePASS 
        auth_pass2222 
    
    virtual_ipaddress{ 
        192.168.33.100 
    
virtual_server 192.168.33.100 6379 { 
    delay_loop 6    
    lb_algo wrr    
    lb_kind DR   
    persistence_timeout60    
    protocol TCP         
    real_server 192.168.33.10 6379 { 
        weight 100        
        notify_down/data/sh/redis.sh 
        TCP_CHECK { 
        connect_timeout10 
        nb_get_retry3 
        delay_before_retry3 
        connect_port6379 
        
    
}

三、从Keepalived配置:

Redis从服务器配置keepalived.conf跟master一样,只需要把Realserver IP修改成:

1
 real_server 192.168.33.11 ;优先级从100改成90即可。

vi /etc/keepalived/keepalied.conf

! Configuration File for keepalived

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
global_defs { 
   notification_email{ 
      wgkgood@139.com 
   
   notification_email_fromwgkgood@139.com 
   smtp_server127.0.0.1 
   smtp_connect_timeout30 
   router_idLVS_DEVEL 
# VIP1 
vrrp_instance VI_1 { 
    state BACKUP   
    interface eth0 
   lvs_sync_daemon_inteface eth0 
    virtual_router_id151 
    priority 90 
    advert_int 5 
    nopreempt 
    authentication { 
        auth_typePASS 
        auth_pass2222 
    
    virtual_ipaddress{ 
        192.168.33.100 
    
virtual_server 192.168.33.100 6379 { 
    delay_loop 6    
    lb_algo wrr    
    lb_kind DR   
    persistence_timeout60    
    protocol TCP         
    real_server 192.168.33.11 6379 { 
        weight 100        
        notify_down/data/sh/redis.sh 
        TCP_CHECK { 
        connect_timeout10 
        nb_get_retry3 
        delay_before_retry3 
        connect_port6379 
        
    
}

四、创建切换脚本:

在master、slave数据库上创建/data/sh/redis.sh脚本,内容为:

1
  /etc/init.d/keepalived stop

然后分别重启两台Redis数据库上keepalived服务即可。

最后测试停止master Mysql服务,是否会自动切换到Backup上即可。

本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1690864

Redis+Keepalived内存数据库集群配置相关推荐

  1. Redis主从复制和集群配置系列之四

    非常感谢  http://blog.csdn.net/dc_726/article/details/48552531 Redis技术学习 https://www.itkc8.com 全面剖析Redis ...

  2. 基于redis的cas集群配置(转)

    1.cas ticket统一存储 做cas集群首先需要将ticket拿出来,做统一存储,以便每个节点访问到的数据一致.官方提供基于memcached的方案,由于项目需要,需要做计入redis,根据官方 ...

  3. 分布式业务Redis安装与集群配置

    Redis在百度百科里的解释:Redis是一个开源的使用ANSI  C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API,包括C#.Java.PHP等等 ...

  4. redis三:集群配置

    文章目录 redis集群配置 主从复制 哨兵模式 集群搭建 redis集群配置 不熟悉redis请先看:redis6学习 主从复制 主从模式指的是使用一个redis实例作为主机,其余的实例作为备份机. ...

  5. 淘淘商城FTP服务器、Redis和solr集群配置

    这是我通过网上查找到的image_server修改而成的,已适用于2015年版本的淘淘商城视频 注意要修改该虚拟机的虚拟网卡网段为192.168.1.133,下面是一些命令:(标红的地方为必须的操作! ...

  6. Redis数据库搭建集群(集群概念、redis集群、搭建集群(配置机器1、2、创建集群、数据操作验证)、Python与redis集群交互)

    1. 集群的概念 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性. ...

  7. redis+主从复制+集群配置

    redis+主从复制+集群配置 redis是一个key-value存储系统.和memcached类似,不过redis支持的value类型更多,主要有:string(字符串).list(链表).set( ...

  8. Redis高可用之集群配置(六)

    0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...

  9. Redis集群配置和常见异常解决

    Redis集群配置和常见异常解决 参考文章: (1)Redis集群配置和常见异常解决 (2)https://www.cnblogs.com/hzb462606/p/11121281.html 备忘一下 ...

最新文章

  1. 5G万物智联下互联网通信技术升级之路
  2. $ajax不能识别,JQuery/JS Ajax功能无法识别
  3. 计算机网络分层作业,计算机网络作业布置-参考答案
  4. 注解形式控制器 数据验证,类型转换
  5. java显示参数,Java中的隐式参数和显示参数实例详解
  6. c#获取屏幕上某坐标点的颜色
  7. (5)ES6解构赋值-函数篇
  8. “鬼才”论文致谢刷屏!感谢我导“似导非导”的指导……
  9. angular6项目中使用echarts图表的方法(有一个坑,引用报错)
  10. Java一键多值Map 之Guava Multimap 用法简介
  11. HttpClient配置
  12. C/C++作用域运算符::
  13. visio 2003 问题
  14. android开机自动启动app
  15. 批处理中的删除命令:del
  16. scala特质 对比java的接口 使用方法
  17. 高速串行计算机扩展总线标准,高速串行计算机扩展总线标准Bosch Sensortec开发出BMP384...
  18. 如何搭建一个站内搜索引擎(一) 第1章 写在最前
  19. js jq 按钮开始/停止转换
  20. 【前端系列教程之CSS3】04_CSS定位和浮动详解

热门文章

  1. Android使用BaseAdapter绑定ListView实现不同item的TextView多种文字变色
  2. 用计算机实现工业自动化,计算机技术在工业自动化控制系统中的应用
  3. 北大青鸟的班主任好当吗_北大青鸟学校怎么样靠谱吗?
  4. postman提交文件及get、post请求
  5. sunplus 8202v iop源代码阅读笔记——3
  6. VB中什么是类,类模块有什么作用
  7. 提高无线网络下载速度的秘诀
  8. 用Julia学习微积分:这有一份高赞数学教程 | 附习题+代码
  9. 受中国刺激,美国国防部又出AI计划!20亿美元推动机器推理
  10. 当心币圈高仿号!也别指望AI,它有心无力