设为首页 收藏本站
查看: 918|回复: 0

[经验分享] Redis+Keepalived内存数据库集群配置

[复制链接]

尚未签到

发表于 2018-11-6 08:55:31 | 显示全部楼层 |阅读模式
  前言: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配置文件中加入如下语句即可:
slaveof 192.168.33.10 6379  # slaveofmaster的ip master的端口。  一、安装Keepalived:
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
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修改成:
real_server 192.168.33.11 ;优先级从100改成90即可。  
  vi /etc/keepalived/keepalied.conf
  ! Configuration File for keepalived
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脚本,内容为:
  /etc/init.d/keepalived stop  然后分别重启两台Redis数据库上keepalived服务即可。
  最后测试停止master Mysql服务,是否会自动切换到Backup上即可。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-631323-1-1.html 上篇帖子: redis五种数据类型应用场景 下篇帖子: redis 安装和配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表