redis多实例和高可用
实验:多实例节点 10.220.5.65(三个实例)
高可用节点:10.220.5.67
创建目录,将三个实例文件都放在这个目录中
[root@ ~]# yum install redis -y
[root@~]# mkdir /redis/{,,} -pv
查看目录
[root@ ~]# ls /redis
6381 <<<三个实例所对应的端口号,为了方便理解这里每个文件名和对应的端口号一致
将/etc/redis.conf文件复制到每一个目录下
[root@65DRslave ]# cp /etc/redis.conf /redis/
[root@65DRslave ]# cp /etc/redis.conf /redis/
[root@65DRslave ]# cp /etc/redis.conf /redis/
修改每一个配置文件
[root@65DRslave ]# cp /etc/redis.conf /redis/
protected-mode yes
port
daemonize yes <<<启用后台运行模式
pidfile /redis//redis_6379.pid
logfile /redis//redis.log <<<日志文件
# save "" save
save
save
dir /redis/
同理剩下两个配置文件和上边类似,只需该对应端口即可
启动实例
[root@ ~]# redis-server /redis//redis.conf
[root@ ~]# redis-server /redis//redis.conf
[root@~]# redis-server /redis//redis.conf
[root@65DRslave ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN *: *:*
LISTEN 10.220.5.65: *:*
LISTEN 10.220.5.65: *:*
打开多个终端,分别登陆实例
[root@ ~]# redis-cli -h 10.220.5.65 -p 6379
10.220.5.65:6379>
[root@ ~]# redis-cli -h 10.220.5.65 -p 6380
10.220.5.65:6380>
[root@ ~]# redis-cli -h 10.220.5.65 -p 6381
10.220.5.65:6381>
主从复制,让6381作为主,6379 和6380作为从
10.220.5.65:> slaveof 10.220.5.65 6381
OK
10.220.5.65:> slaveof 10.220.5.65
OK
在主端创建数据,在从节点查看是否被复制了过来
10.220.5.65:6381> set age 29
OK <<<主端
10.220.5.65:> get age
"" <<<从端,说明已经复制
10.220.5.65:> get age
"" <<<从端,说明已经复制
主从复制已经做好,下面做redis的高可用
redis的高可用是用redis-sentinel,默认在redis中,需要修改配置文件
[root@ ~]# vim /etc/redis-sentinel.conf
protected-mode no
sentinel monitor mymaster 10.220.5.65
sentinel config-epoch mymaster
启动redis-sentinel
[root@ ~]# systemctl start redis-sentinel <<<端口号为 26379
[root@ ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN *: *:*
LISTEN *: *:*
LISTEN ::: :::*
LISTEN ::: :::*
登录redistribute-sentinel,并查看主从节点信息
[root@ ~]# redis-cli -h 10.220.5.67 -p
10.220.5.67:>sentinel masters <<<主节点信息
1) 1) "name"
2) "mymaster"
3) "ip"
4) "10.220.5.65"
5) "port"
6) "6381"
.......
10.220.5.67:26379>sentinel slaves master <<<从节点信息
1) 1) "name"
2) "10.220.5.65:6380"
3) "ip"
4) "10.220.5.65"
5) "port"
6) "6380"
....
2) 1) "name"
2) "10.220.5.65:6379"
3) "ip"
4) "10.220.5.65"
5) "port"
6) "6379"
....
将主节点停掉,再看效果
[root@65DRslave ~]# ps aux |grep redis
redis 1169 0.3 0.7 142952 7320 ? Ssl 16:07 0:11 /usr/bin/redis-server 10.220.5.65:6379
root 1255 0.0 0.0 107988 612 pts/2 T 16:12 0:00 tail -f /redis/6381/redis.log
root 1288 0.3 0.7 142952 7504 ? Ssl 16:18 0:10 redis-server 10.220.5.65:6381
root 1298 0.0 0.5 22128 5212 pts/1 S+ 16:19 0:00 redis-cli -h 10.220.5.65 -p 6379
root 1338 0.3 0.5 142952 5440 ? Ssl 17:04 0:00 redis-server 10.220.5.65:6380
root 1344 0.0 0.5 22124 5128 pts/0 S+ 17:04 0:00 redis-cli -h 10.220.5.65 -p 6380
root 1346 0.0 0.0 112704 956 pts/2 R+ 17:04 0:00 grep --color=auto redis
[root@65DRslave ~]# kill -9 1288
在redis-sentinel端再次查看
10.220.5.67:> sentinel masters
) ) "name"
) "mymaster"
) "ip"
) "10.220.5.65"
) "port"
) "" <<<此次主节点变成了 6379 ,这就是redis的高可用
查看从节点信息
10.220.5.67:> sentinel slaves mymaster
) ) "name"
) "10.220.5.65:6381"
) "ip"
) "10.220.5.65"
) "port"
) ""
10) "s_down,slave,disconnected" <<<6381停掉后变成了从,状态是未连接
) ) "name"
) "10.220.5.65:6380"
) "ip"
) "10.220.5.65"
) "port"
) ""
redis多实例和高可用的更多相关文章
- Dubbo入门到精通学习笔记(十五):Redis集群的安装(Redis3+CentOS)、Redis集群的高可用测试(含Jedis客户端的使用)、Redis集群的扩展测试
文章目录 Redis集群的安装(Redis3+CentOS) 参考文档 Redis 集群介绍.特性.规范等(可看提供的参考文档+视频解说) Redis 集群的安装(Redis3.0.3 + CentO ...
- Redis从出门到高可用--Redis复制原理与优化
Redis从出门到高可用–Redis复制原理与优化 单机有什么问题? 1.单机故障; 2.单机容量有瓶颈 3.单机有QPS瓶颈 主从复制:主机数据更新后根据配置和策略,自动同步到备机的master/s ...
- Redis系列4:高可用之Sentinel(哨兵模式)
Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 1 背景 从第三篇 Redis系列3:高可用之主从架构 ,我们知道,为Re ...
- MySQL 系列(五) 多实例、高可用生产环境实战
MySQL 系列(五) 多实例.高可用生产环境实战 第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三 ...
- net core 实战之 redis 负载均衡和"高可用"实现
net core 实战之 redis 负载均衡和"高可用"实现 1.概述 分布式系统缓存已经变得不可或缺,本文主要阐述如何实现redis主从复制集群的负载均衡,以及 redis的& ...
- Nginx 配置实例-配置高可用
Nginx 配置实例-配置高可用 1. 实现效果 2. 两台机器 nginx 的安装 2.1 192.168.25.120 中 nginx 的安装 2.1.1 安装 pcre 依赖 2.1.2 安装其 ...
- Redis主从复制、多实例、高可用(三)--技术流ken
Redis主从复制 在开始实现redis的高可用之前,首先来学习一下如何实现redis的主从复制,毕竟高可用也会依赖主从复制的技术. Redis的主从复制,可以实现一个主节点master可以有多个从节 ...
- Redis主从复制、多实例、高可用
Redis主从复制 在开始实现redis的高可用之前,首先来学习一下如何实现redis的主从复制,毕竟高可用也会依赖主从复制的技术. Redis的主从复制,可以实现一个主节点master可以有多个从节 ...
- Redis系列(四)-低成本高可用方案设计
关于Redis高可用方案,看到较多的是keepalived.zookeeper方案. keepalived是主备模式,意味着总有一台浪费着.zookeeper工作量成本偏高. 本文主要介绍下使用官方s ...
随机推荐
- typeof 子类获取父类
像这样typeof(Typ).BaseType.Name
- myql 格式化日期
date_format(a.balance_date,'%Y-%m')= date_format(#{balanceDate},'%Y-%m')
- 在VS2013、VS2015下如何配置DirectX SDK的开发环境
在Visual Studio 2013下配置DirectX SDK可以进行基于DirectX的3D大型应用程序的开发.如果在开发DirectX程序时不配置其开发环境会引起编译器报错, 下面就与大家分享 ...
- Jboss安装配置以及相关的问题
下载地址:(目前最新版本是jboss-as-7.1.1.Final) http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss- ...
- http://blog.csdn.net/u012905422/article/details/53340260
轉自:http://blog.csdn.net/u012905422/article/details/53340260 对于python2.7版本,很多教程(如http://stackoverflow ...
- c# excel如何导入到sqlserver数据库
最近在做这个如何把excel导入到数据库中,经过多方查找,终于找到一个适合的,并且经过自己的完善可以正常使用(忘记原作者博客的链接地址了,敬请见谅) 首先是窗体的创建,文本框显示文件的路径,按钮执行操 ...
- azkaban执行错误 Job failed, Cannot request memory (Xms 0 kb, Xmx 0 kb) from system for job
azkaban默认需要3G的内存,剩余内存不足则会报异常. 配置文件,设置 azkaban-web-server-2.7.0/plugins/jobtypes/commonprivate.proper ...
- numpy和matploptlib
numpy Numpy介绍 编辑 一个用python实现的科学计算,包括:1.一个强大的N维数组对象Array:2.比较成熟的(广播)函数库:3.用于整合C/C++和Fortran代码的工具包:4.实 ...
- 如何检查tensorflow环境是否能正常调用GPU
检查keras/tensorflow是否正常调用GPU代码 os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os. ...
- 三、thymeleaf模板引擎构建前台html, 后台使用 ModelAndView 和 Model 模型
项目源码:https://github.com/y369q369/springBoot.git -> thymeleaf 私聊QQ: 1486866853 1.pom.xml中 ...