实验:多实例节点 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. java-使用Jacob实现office转换成pdf

    参考路径: https://blog.csdn.net/csdnFlyFun/article/details/79523262#commentBox Jacob组件下载地址:https://sourc ...

  2. java中增删改查(CRUD)总结

    对于User表增删改查:1:save(保存方法)  view(查询所有记录) update(更新方法) delete(删除方法) 通过method这个参数进行判断执行不同的操作 2: 具体的实现:   ...

  3. 关于springboot2.x 的 RedisCacheManager变化

    springboot配置缓存过期时间,大部分是使用ReidsCacheManager来进行自定义的配置 以下是大部分网上的代码(这也是基于springboot1.x的版本可以使用的) @Beanpub ...

  4. 关于mybatis中传入一个List,字符串数组,或者Map集合作为查询条件的参数

    一.入参为List的写法: <select id="queryParamList" resultType="map" parameterType=&quo ...

  5. ssh登录原理及免密登录配置

    ssh登录原理参考: https://www.cnblogs.com/hukey/p/6248468.html ssh登录有两种方式: 1):用户名密码登录 2):基于秘钥的登录 ssh免密登录指的就 ...

  6. final link failed: Nonrepresentable section on output

    编译live555的时候遇到了这个问题,前面的编译没有问题,是在链接的时候出现的,在网上搜索说是缺少 libstdc++ 库.于是,安装之 #sudo apt-get install  libstdc ...

  7. 尝试 Markdown 写测试用例

    我的原帖https://testerhome.com/topics/9412 大家都知道我们社区的帖子提倡用Markdown格式编写,正好项目进入稳定期,尝试用Markdown写下测试用例.有几个目的 ...

  8. centos7安装mysql,以及设置root密码

    1.首先进入mysql官网的下载-社区https://dev.mysql.com/downloads/ 2.点击下载后,切换版本5.7(这里的版本对于rpm没有作用),然后在新的页面中选择操作系统 3 ...

  9. 正则表达式与Python中re模块的使用

    正则表达式与Python中re模块的使用 最近做了点爬虫,正则表达式使用的非常多,用Python做的话会用到re模块. 本文总结一下正则表达式与re模块的基础与使用. 另外,给大家介绍一个在线测试正则 ...

  10. AD中修改OU下面用户的属性

    第一种方法可行: get-ADuser -searchbase "ou=Wireless,dc=lstech,dc=com" -filter * | set-ADuser -Giv ...