设为首页 加入收藏

TOP

Redis+Keepalived内存数据库集群配置(一)
2015-11-10 12:17:11 来源: 作者: 【 】 浏览:5
Tags:Redis Keepalived 内存 数据库 集群 配置

前言: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上即可。


下面关于Redis的文

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle RAC客户端tnsnames.ora相.. 下一篇Linux平台 Oracle 11gR2 RAC安装

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: