实验:多实例节点 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多实例和高可用的更多相关文章

  1. Dubbo入门到精通学习笔记(十五):Redis集群的安装(Redis3+CentOS)、Redis集群的高可用测试(含Jedis客户端的使用)、Redis集群的扩展测试

    文章目录 Redis集群的安装(Redis3+CentOS) 参考文档 Redis 集群介绍.特性.规范等(可看提供的参考文档+视频解说) Redis 集群的安装(Redis3.0.3 + CentO ...

  2. Redis从出门到高可用--Redis复制原理与优化

    Redis从出门到高可用–Redis复制原理与优化 单机有什么问题? 1.单机故障; 2.单机容量有瓶颈 3.单机有QPS瓶颈 主从复制:主机数据更新后根据配置和策略,自动同步到备机的master/s ...

  3. Redis系列4:高可用之Sentinel(哨兵模式)

    Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 1 背景 从第三篇 Redis系列3:高可用之主从架构 ,我们知道,为Re ...

  4. MySQL 系列(五) 多实例、高可用生产环境实战

    MySQL 系列(五) 多实例.高可用生产环境实战   第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三 ...

  5. net core 实战之 redis 负载均衡和"高可用"实现

    net core 实战之 redis 负载均衡和"高可用"实现 1.概述 分布式系统缓存已经变得不可或缺,本文主要阐述如何实现redis主从复制集群的负载均衡,以及 redis的& ...

  6. Nginx 配置实例-配置高可用

    Nginx 配置实例-配置高可用 1. 实现效果 2. 两台机器 nginx 的安装 2.1 192.168.25.120 中 nginx 的安装 2.1.1 安装 pcre 依赖 2.1.2 安装其 ...

  7. Redis主从复制、多实例、高可用(三)--技术流ken

    Redis主从复制 在开始实现redis的高可用之前,首先来学习一下如何实现redis的主从复制,毕竟高可用也会依赖主从复制的技术. Redis的主从复制,可以实现一个主节点master可以有多个从节 ...

  8. Redis主从复制、多实例、高可用

    Redis主从复制 在开始实现redis的高可用之前,首先来学习一下如何实现redis的主从复制,毕竟高可用也会依赖主从复制的技术. Redis的主从复制,可以实现一个主节点master可以有多个从节 ...

  9. Redis系列(四)-低成本高可用方案设计

    关于Redis高可用方案,看到较多的是keepalived.zookeeper方案. keepalived是主备模式,意味着总有一台浪费着.zookeeper工作量成本偏高. 本文主要介绍下使用官方s ...

随机推荐

  1. 使用 logrotate 清理日志

    Linux 中配置 logrotate 程序,它可以自动执行日志文件的轮换.压缩.删除和用邮件发出. Linux账号密码过期会导致crontab作业不能执行 Authentication token ...

  2. Cent os6.5 安装python3.2

    1.CentOS6.5 安装Python 的依赖包 yum groupinstall "Development tools" yum install zlib-devel bzip ...

  3. py-day4-2 python 内置函数

    zip() #zip 拉链方法 一一对应 只要是序列类型的都可以 print(list(zip(('a','b','c'),(1,2,3)))) 结果: [('a', 1), ('b', 2), (' ...

  4. Jquery 一个页面多个倒计时 实现

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. S50 抓取pattern数据

    S50(原V50) 测试机台湾久元电子研发的一款数字芯片测试系统,行业内有很多人使用: 现在记录下S50抓取pattern数据的一些方法: 程序主要是通过read_log配合c代码实现,pattern ...

  6. 关于CPU 架构与指令集的一些个人理解

    关于CPU 架构与指令集的一些个人理解 (理解不一定正确,只是目前的理解) 1.一般所说的X86,是指基于Intel X86架构处理器的一套指令集,即X86指令集: 2.CPU的架构是最底层的,是处理 ...

  7. bzoj5109: [CodePlus 2017]大吉大利,晚上吃鸡!

    Description 最近<绝地求生:大逃杀>风靡全球,皮皮和毛毛也迷上了这款游戏,他们经常组队玩这款游戏.在游戏中,皮皮 和毛毛最喜欢做的事情就是堵桥,每每有一个好时机都能收到不少的快 ...

  8. truffle init 从零开始创建简单DApp项目

    下面的部分软件需要FQ.这里默认你已经会***,不懂的可以自己搜索解决. 软件安装 chrome浏览器 下载地址 metamask插件 在谷歌应用商店中搜索metamask ganche(图形版) 下 ...

  9. 软件推荐----截图软件Snagit

    截图软件,比较推荐使用Snagit,功能上所有截图软件有的他都有.Snagit编辑器有一个[库]功能,可以按日期以及应用程序对截图进行分类整理,最赞的是你可以把整个库备份导出,在新的电脑上进行导入,所 ...

  10. linux下安装nexus repository及Intellij Idea集成私有maven

    前段日子公司搞java项目,使用nexus repository搭建了私有maven库,现在把原来的私有nuget也迁到nexus repository上了,下面介绍下搭建流程: https://he ...