安装redis 官方文档

  • docker run -d --net host -v /opt/myconfig/redis/redis.conf:/usr/local/etc/redis/redis.conf --name redis redis redis-server /usr/local/etc/redis/redis.conf
  • 用集群 网络用 --net host 主机模式
  • 用主机模式就不用指定端口映射 。 否则会报错 WARNING: Published ports are discarded when using host network mode

高可用 主从 哨兵

配置主从

  • 最少配置 replicaof masterip masterport
  • 单独配置主从时 不支持 集群 改为 cluster-enabled no
  • 在集群中 配置主从 需要在创建集群的时通过 --cluster-replicas 指定从机数量

主从管理

  • 查看主从信息
  • redis-cli -h 127.0.0.1 -p 6379 info replication
  • 配置从机
  • slaveof MASTER_IP MASTER_PORT

搭建哨兵 在从机中选择主机

搭建哨兵系统
  • redis安装包里有 该系统 不用重新去下,没有的要下一个
  • 最少配置文件
#指示 Sentinel 去监视一个名为 mymaster 的主服务器, 这个主服务器的 IP 地址为 127.0.0.1 , 端口号为 6379 ,
# 这个主服务器判断为失效至少需要 2 个 Sentinel 同意 (只要同意 Sentinel 的数量不达标,自动故障迁移就不会执行)
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 60000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1
daemonize yes
  • 启动命令 redis-server /path/to/sentinel.conf --sentinel
哨兵系统管理
  • 进入系统 默认的端口为 26379 可以自己设定 redis-cli -p 26379
  • 管理命令 官方文档

集群(多个节点之间共享数据)官方文档

搭建集群redis5

  • 最少配置文件
port 7000
cluster-enabled yes
#设定保存节点配置文件的路径 由 Redis 集群在启动时创建, 并自动进行更新,无须人为修改
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
  • 集群创建命令

    redis-cli --cluster create 节点1 节点2 ...... --cluster-replicas 2
  • --cluster-replicas 2 为主机设置2个从机
  • [OK] All 16384 slots covered 说明 所有的槽点可用 证明集权搭建成功
  • docker下 redis集群不支持 端口映射 要指定 --net host
Currently Redis Cluster does not support NATted environments and in general environments where IP addresses or TCP ports are remapped.
In order to make Docker compatible with Redis Cluster you need to use the host networking mode of Docker.
Please check the --net=host option in the Docker documentation for more information.

集群管理

节点管理
  • 显示所有节点
  • redis-cli -h 127.0.0.1 -p 6379 cluster nodes
  • myself 指的是当前节点
  • 增加节点
  • 增加空节点 然后 数据分片 默认为主节点
  • redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000
  • 第一个为新增节点的地址 第二个为 是集群内的任意一个地址
  • 地址要统一 都用外网/内网 否则虽然添加成功 因为不能识别为同一集群
  • 增加从节点
  • redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000 --cluster-slave --cluster-master-id 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e
  • 不指定 主节点增加一个从节点
  • redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000 --cluster-slave
  • redis 127.0.0.1:7006> cluster replicate 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e 在从节点中操作
  • 删除节点
  • redis-cli --cluster del-node 127.0.0.1:7000 ``
  • 第一个 node 是集群中的随机 节点
  • 第二个 参数 是集群 中的 要删除节点的 id
槽点管理
  • 查看槽点
  • redis-cli --cluster check 127.0.0.1:7000

    *槽点重新分片
  • redis-cli --cluster reshard 127.0.0.1:7000
  • [OK] All 16384 slots covered. 说明 槽点分片成功

redis 安装 集群 主从 哨兵 docker的更多相关文章

  1. Redis Cluster集群主从方案

    本文介绍一种通过Jedis和Cluster实现Redis集群(主从)的高可用方案,该方案需要使用Jedis2.8.0(推荐),Redis3.0及以上版本(强制). 附:Redis Cluster集群主 ...

  2. docker+redis安装与配置,主从+哨兵模式

    docker+redis安装与配置 docker安装redis并且使用redis挂载的配置启动 1.拉取镜像 docker pull redis:3.2 2.准备准备挂载的目录和配置文件 首先在/do ...

  3. redis安装集群的2种方式

    redis主从只是数据的备份,当主宕机后不会自动切换从为主,需要手动切换从为主. 哨兵就可以自动切换从为主, 当主数据库遇到异常中断服务后,开发者可以通过手动的方式选择一个从数据库来升格为主数据库,以 ...

  4. redis安装--集群

    redis在3.0之后开始支持集群,实际生产中一般也是会部署集群了 redis官方推出了一个叫redis-trib.rb的redis集群工具(存放在源码文件的src目录下):由于redis-trib. ...

  5. redis主从、集群、哨兵

    redis的主从.集群.哨兵 参考: https://blog.csdn.net/robertohuang/article/details/70741575 https://blog.csdn.net ...

  6. (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)

    参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https:/ ...

  7. CentOS7 安装Redis Cluster集群

    上一篇中已经讲到了如何安装单击版Redis,这一篇我们来说下如何安装Cluster,关于哨兵模式这里我就不写文章安装了,有兴趣的同学可以自己去研究,哨兵模式可以在主从模式下在创建三台机器的哨兵集群监控 ...

  8. redis5.0.0功能介绍以及主从集群、哨兵搭建

    这两天突然想起redis,索性就再尝试一下搭建最新版本的redis,过程有点艰辛呀,记录一下,供自己和大家今后搭建做参考. 一.为什么用Redis? 我自己总结了一下: 1.基于内存实现的key-va ...

  9. Redis集群(九):Redis Sharding集群Redis节点主从切换后客户端自动重新连接

    上文介绍了Redis Sharding集群的使用,点击阅读 本文介绍当某个Redis节点的Master节点发生问题,发生主从切换时,Jedis怎样自动重连新的Master节点 ​一.步骤如下: 1.配 ...

随机推荐

  1. 安装 Cacti 监控

    简介:                Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.         Cacti是通过 snmpget来获取数据,使用 ...

  2. Angular目录结构

    一. Angular目录结构 e2e:在e2e/下是端到端测试 node_modules:安装的第三方模块都在这,使用npm install安装的1 Src:我们项目的所有文件 { App:组件,以a ...

  3. ubuntu python及python IDLE 的安装

    ubuntu下Python的安装和使用 文章参考出处:https://www.cnblogs.com/luckyalan/p/6703590.html ubuntu14.04 安装Python2.7: ...

  4. Nginx简介入门

    买了极客时间上陶辉的Nginx核心知识100讲,正在学.链接 Nginx 4个组成部分 二进制可执行文件 nginx.conf 配置文件 access.log error.log nginx 版本 M ...

  5. JSON Hijacking实战利用

    0×01漏洞的挖掘 一般挖掘的过程中,burpsuite代理的History做寻找,过滤多余不可能存在漏洞的一些链接,如下图所示: 我们在返回包中json格式发现了如下的敏感信息(用户Id,用户名,用 ...

  6. 1Python学习CentOS 7 Linux环境搭建

    鉴于python3目前已成流行之势,而各发行版Linux依然是自带python2.x,笔者尝试在centos7下,部署Python3.x与2.x共存环境 本文参考博主良哥95网址https://blo ...

  7. Apache Log4j 反序列化代码执行(CVE-2019-17571) 漏洞分析

    Apache Log4j 漏洞分析 仅用于研究漏洞原理,禁止用于非法用途,后果自负!!! CVE-2019-17571 漏洞描述 Log4j是美国阿帕奇(Apache)软件基金会的一款基于Java的开 ...

  8. jmeter导入jmx文件报错:missing class com.thoughtworks.xstream.converters.ConversionException

    有的时候我们会参考别人的jmx文件,但是在导入的时候会报错如下图: 实际上是告诉我们缺少jar包所引起的,下载对应jar包放到jmeter安装目录对应的lib/ext下就可以了,如下图: jmeter ...

  9. mysql查询时不区分大小写

    一次偶然的机会,发现在登陆验证时,改变用户名的大小写,同样可以登录成功,这是由于,当时使用的mysql数据库对大小写不敏感,查询时总是能查询到数据.一番查找资料,给出的原因是:在创建数据库的时候,选择 ...

  10. day 17 初始递归

    递归函数 了解什么是递归 : 在函数中调用自身函数 最大递归深度默认是997/998 —— 是python从内存角度出发做的限制 能看懂递归 能知道递归的应用场景 初识递归 —— 算法 —— 二分查找 ...