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配置文件中加入如下语句即可:
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内存数据库集群配置相关推荐
- Redis主从复制和集群配置系列之四
非常感谢 http://blog.csdn.net/dc_726/article/details/48552531 Redis技术学习 https://www.itkc8.com 全面剖析Redis ...
- 基于redis的cas集群配置(转)
1.cas ticket统一存储 做cas集群首先需要将ticket拿出来,做统一存储,以便每个节点访问到的数据一致.官方提供基于memcached的方案,由于项目需要,需要做计入redis,根据官方 ...
- 分布式业务Redis安装与集群配置
Redis在百度百科里的解释:Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API,包括C#.Java.PHP等等 ...
- redis三:集群配置
文章目录 redis集群配置 主从复制 哨兵模式 集群搭建 redis集群配置 不熟悉redis请先看:redis6学习 主从复制 主从模式指的是使用一个redis实例作为主机,其余的实例作为备份机. ...
- 淘淘商城FTP服务器、Redis和solr集群配置
这是我通过网上查找到的image_server修改而成的,已适用于2015年版本的淘淘商城视频 注意要修改该虚拟机的虚拟网卡网段为192.168.1.133,下面是一些命令:(标红的地方为必须的操作! ...
- Redis数据库搭建集群(集群概念、redis集群、搭建集群(配置机器1、2、创建集群、数据操作验证)、Python与redis集群交互)
1. 集群的概念 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性. ...
- redis+主从复制+集群配置
redis+主从复制+集群配置 redis是一个key-value存储系统.和memcached类似,不过redis支持的value类型更多,主要有:string(字符串).list(链表).set( ...
- Redis高可用之集群配置(六)
0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...
- Redis集群配置和常见异常解决
Redis集群配置和常见异常解决 参考文章: (1)Redis集群配置和常见异常解决 (2)https://www.cnblogs.com/hzb462606/p/11121281.html 备忘一下 ...
最新文章
- 5G万物智联下互联网通信技术升级之路
- $ajax不能识别,JQuery/JS Ajax功能无法识别
- 计算机网络分层作业,计算机网络作业布置-参考答案
- 注解形式控制器 数据验证,类型转换
- java显示参数,Java中的隐式参数和显示参数实例详解
- c#获取屏幕上某坐标点的颜色
- (5)ES6解构赋值-函数篇
- “鬼才”论文致谢刷屏!感谢我导“似导非导”的指导……
- angular6项目中使用echarts图表的方法(有一个坑,引用报错)
- Java一键多值Map 之Guava Multimap 用法简介
- HttpClient配置
- C/C++作用域运算符::
- visio 2003 问题
- android开机自动启动app
- 批处理中的删除命令:del
- scala特质 对比java的接口 使用方法
- 高速串行计算机扩展总线标准,高速串行计算机扩展总线标准Bosch Sensortec开发出BMP384...
- 如何搭建一个站内搜索引擎(一) 第1章 写在最前
- js jq 按钮开始/停止转换
- 【前端系列教程之CSS3】04_CSS定位和浮动详解