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 ...
随机推荐
- http://blog.csdn.net/u012905422/article/details/53340260
轉自:http://blog.csdn.net/u012905422/article/details/53340260 对于python2.7版本,很多教程(如http://stackoverflow ...
- Android studio 中添加依赖model时依赖所需的准备
例如向app中添加依赖core: core要做如下修改: 1.将core中build.gradle中 修改为 . 2.将core中的 applicationId 注释掉.
- 【java】抽象类和接口区别
1.语法层面上的区别 1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法: 2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public sta ...
- tensorflow训练中出现问题Couldn't open CUDA library cupti64_80.dll
参考链接:http://blog.csdn.net/lanchunhui/article/details/62242568 在代码中添加了tensorboard可视化代码后,原程序运行报错,以上链接方 ...
- php如何和linux进行通讯
FastCGI原理 FastCGI是一个运用于Http Server和动态脚本语言间通信的接口,多数流行的Http Server都支持FastCGI,包括Apache.Nginx和lighttpd等. ...
- 解决WCF“接收对 http://xxx.svc 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致"
最近在工作中新加了一个接口,本地调试的时候,直接抛出“接收对 http://xxx.svc 的 HTTP 响应时发生错误.这可能是由于服务终结点绑定未使用 HTTP 协议造成的.这还可能是由于服务器中 ...
- Unity 代码组件获取和使用、Resources加载、OnGUI、Time、Mathf、PlayerPref
1. 游戏物体组件获取.添加组件(重要) 作业分析: 子弹生成:坦克生成----->坦克控制类里生成子弹 子弹飞行:子弹自己飞,不能通过坦克控制类进行管理: 获取代码组件,设置子弹速度: ...
- RabbitMQ tutorial
一.安装RabbitMQ RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开 ...
- Docker容器开机自动启动
部署项目服务器时,为了应对停电等情况影响正常web项目的访问,会把Docker容器设置为开机自动启动. 在使用docker run启动容器时,使用--restart参数来设置: # docker r ...
- 修改Linux主机名
如果安装时没有设置,一般默认主机名为localhost.localdomain. 通过以下方式修改成自己设置的主机名: 1. vi /etc/sysconfig/network NETWORKING= ...