Redis主从配置,如果没有真机就要用虚拟机,使用Docke for Windows host网络有问题。

准备:

  1.安装虚拟机。

  2.下载redis的安装文件:http://download.redis.io/releases/redis-5.0.7.tar.gz

    1.redis-5.0.7/redis.conf

      ->Redis 配置文件。

    2.redis-5.0.7/sentinel.conf

      ->哨兵配置文件。

主从配置:

  1.将redis.conf 复制 3 份名为 redis-master.conf,redis-slave1.conf,redis-slave2.conf ,redis-master作为主服务器,内容除端口、密码外其他基本不用进行修改。

  2.修改配置文件:

    redis-master.conf

      1.bind 127.0.0.1 改为 bind 0.0.0.0 或者注释

        bind 与网卡对应的ip才能连接。

      2.添加master密码

       requirepass abc123

      3.端口:

        测试使用默认 6379端口。

    redis-slave.conf

      1.bind 127.0.0.1 改为 bind 0.0.0.0 或者注释

      2.确定主redis地址

        replicaof 192.168.10.202 6379

      3.主密码

        masterauth abc123

      4.添加密码

        requirepass abc123

      5.端口分别为6380,和6381

    两个从redis都是这样配置。

    

启动主从redis。

  1.启动master:

    docker run --rm --network host --name redis-master -v /home/ye/SystemConfig/RedisConfig/redis-master.conf:/usr/local/etc/redis/redis.conf -d redis redis-server /usr/local/etc/redis/redis.conf

  2.启动从redis:

    docker run --rm --name redis-slave1 --network host -v /home/ye/SystemConfig/RedisConfig/redis-slave1.conf:/usr/local/etc/redis/redis.conf -d redis redis-server /usr/local/etc/redis/redis.conf

    docker run --rm --name redis-slave2 --network host -v /home/ye/SystemConfig/RedisConfig/redis-slave2.conf:/usr/local/etc/redis/redis.conf -d redis redis-server /usr/local/etc/redis/redis.conf

  至此,一主两从配置好了。

    redis-cli连接master:redis-cli -h 192.168.10.202 -p 6379 -a abc123

    使用命令:info replication

      

      可以看到有两台从机,我们可以在master读写,但在从slave只能读。

     测试:

       master:

       slave:

哨兵模式:

  1.虽然主从能够应对大多数高并发的情景,但是如果当master挂掉后,将无法写入新数据,也需要维护连接,需要人工进行恢复。因此需要采用自动化的机制来保证高可用。

  2.哨兵模式将会自动进行以下动作。

    1.不停的监控redis是否按照预期良好的运行。

    2.如果发现某个redis节点出现状态,能够通知另一个进程(例如他的客户端)

    3.能够进行自动切换,当一个master节点不可用时,能够选举出master的多个slave(如果超过一个slave的情况)钟的一个来作为新的master,其他的slave节点将会将它所追随master的地址改为被提升的为master的slave的新地址。

    4.如果哨兵作为客户端提供服务发现,客户端连接哨兵,哨兵将提供当前master的地址提供服务,如果出现切换,也就是master挂了,哨兵将会提供客户端一个新地址。

  3.哨兵的改变将在所有节点重启后恢复原来的配置,原master重启后将会变成slave节点。

配置哨兵:

  1.复制sentinel.conf 为 redis-sentinel.conf

  2.修改配置文件:

    1.监控地址:(监视名称) (地址) (端口) (投票数,获得这么多同意后,将选举为master主机,两台从机,所有我写2)

      sentinel monitor mymaster 192.168.10.202 6379 2

    2.监控时间 (名称) (超时时间,当超过这个时间,则认为master已经挂了)

        sentinel down-after-milliseconds mymaster 10000

    3.设置连接redis主从密码

      sentinel auth-pass mymaster abc123

    4.设置bind 为 bind 0.0.0.0

  3.注意配置文件项有先后顺序。

启动哨兵:

  docker run --rm --name redis-sentinel --network host -v /home/ye/SystemConfig/RedisConfig/redis-sentinel.conf:/usr/local/etc/redis/sentinel.conf -d redis /usr/local/bin/redis-sentinel /usr/local/etc/redis/sentinel.conf

  

  此时停止master:

  

  可以看到主已经变为6381了。

  

  支持,主从已经哨兵已经搭建完成,持久化那就是另一回事了。

使用docker搭建reids主从,哨兵。的更多相关文章

  1. linux系统——Redis集群搭建(主从+哨兵模式)

    趁着这几天刚好有点空,就来写一下redis的集群搭建,我跟大家先说明,本文的redis集群因为linux服务器只是阿里云一台服务器,所以集群是redis启动不同端口,但是也能达到集群的要求.其实不同服 ...

  2. docker搭建redis主从集群和sentinel哨兵集群,springboot客户端连接

    花了两天搭建redis主从集群和sentinel哨兵集群,讲一下springboot客户端连接测试情况 redis主从集群 从网上查看说是有两种方式:一种是指定配置文件,一种是不指定配置文件 引用地址 ...

  3. 新手之:SpringBoot ——Reids主从哨兵整合(CentOS7)

    一.Redis主从搭建(一台服务器模拟多个端口) 结构图:) 1.确保安装了Redis,我装在了/opt/redis目录下.可通过"whereis redis-cli"命令查看是否 ...

  4. 基于 docker 的redis 主从+哨兵(快速部署)

    很简单(字多的步骤见:http://www.cnblogs.com/vipzhou/p/8580495.html) 1.直接启动3个容器 docker network create --subnet ...

  5. 使用docker搭建redis主从模式

    前期准备: 本地Linux版本:CentOS Linux release 7.5.1804 (Core)Docker版本:Docker version 1.13.1, build dded712/1. ...

  6. Docker搭建MySQL主从集群,基于GTID

    写在前边 搭建MySQL读写分离主从集群,这里未使用binlog方式,使用的是GTID方式 源码见我的Github https://github.com/hellxz/mysql-cluster-do ...

  7. Redis主从&哨兵集群搭建

    主从集群 在搭建主从集群前,我们先把Redis安装起来: #解压Redis压缩包 [root@master lf]# tar -zxvf redis-6.2.1.tar.gz -- #安装gcc [r ...

  8. Docker构建mysql主从

    一.为什么要搭建主从架构呢 1.数据安全,可以进行数据的备份. 2.读写分离,大部分的业务系统来说都是读数据多,写数据少,当访问压力过大时,可以把读请求给到从服务器.从而缓解数据库访问的压力 3.故障 ...

  9. redis 安装 集群 主从 哨兵 docker

    安装redis 官方文档 docker run -d --net host -v /opt/myconfig/redis/redis.conf:/usr/local/etc/redis/redis.c ...

随机推荐

  1. gitlab 构建常见错误

    1.前端是http服务后端是https,原因生产https,测试是http服务环境.代理后端2. java 打包程序需要运行正式数据库没连上错误.打包和跑正式的一个库.3. jenkins不能直接no ...

  2. SHELL/VIM删除重复行(去重)text handle

    vim 删除重复行 - 国内版 Binghttps://cn.bing.com/search?FORM=U227DF&PC=U227&q=vim+%E5%88%A0%E9%99%A4% ...

  3. lintcode 787. The Maze 、788. The Maze II 、

    787. The Maze https://www.cnblogs.com/grandyang/p/6381458.html 与number of island不一样,递归的函数返回值是bool,不是 ...

  4. Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:整型数值类型

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:整型数值类型 1.返回顶部 1. 整型数值类型(C# 参考) 2019/10/22 “整型数值类型”是“简单类型”的 ...

  5. zookeeper使用过程的错误

    一.zookeeper启动成功,dubbo服务也注册成功,但是服务消费者调用失败 报错如下: [myid:] - INFO [SyncThread:0:ZooKeeperServer@645] - E ...

  6. 0.9.0.RELEASE版本的spring cloud alibaba nacos+gateway网关实例

    gateway就是用来替换zuul的,功能都差不多,我们看下它怎么来跟nacos一起玩.老套路,三板斧: 1.pom: <?xml version="1.0" encodin ...

  7. 宣化上人:大佛顶首楞严经四种清净明诲浅释(2-3) -------------------------------------------------------------------------------- (转自学佛网:http://www.xuefo.net/nr/article23/230612.html)

    大佛顶首楞严经四种清净明诲浅释(2-3) 唐天竺·沙门般剌密帝译 宣化上人主讲 一九八三年四月十七日晚讲于万佛圣城 欲摄其心入三摩地:这种邪师说法,在末法的时候像恒河沙这么多:可是我想在这时候,令一切 ...

  8. 报错:Configured broker.id 68 doesn't match stored broker.id 113 in meta.properties

    报错背景: CDH中安装完成kafka的组件后不能成功启动,发现UI界面中的broker.id和服务器中的broker.id不一致, 因此更改了服务器中broker.id 但是更改完成之后还是报错. ...

  9. Java Sound : audio inputstream from pcm amplitude array

    转载自:http://ganeshtiwaridotcomdotnp.blogspot.com/2011/12/java-sound-making-audio-input-stream.html In ...

  10. 利用Python来远程控制肉鸡自由操作,下一个黑客大佬就是你

    利用Python来远程控制肉鸡自由操作,下一个黑客大佬就是你 直接开始主题 Server:控制端 Client:被控端 具体实现 然后当有肉鸡连接的时候我们需要获得肉鸡的socket,并且记录下来,以 ...