redis 安装 集群 主从 哨兵 docker

安装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
  • redis.conf 官方文档

高可用 主从 哨兵

配置主从

  • 最少配置 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. 说明 槽点分片成功

原文地址:https://www.cnblogs.com/eatandsleep/p/12219152.html

时间: 2024-10-07 12:11:44

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

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

参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https://blog.csdn.net/qq_28804275/article/details/80938659 下载redis镜像(不带tag标签则表示下载latest版本) docker pull redis 从github 下载最新的redis.conf,注意重要参数 # 端口 port 6379 #

Redis的集群安装以及rehash重新迁移教程指南

1. Redis的cluster集群 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最核心的目标有三个: 性能:这是Redis赖以生存的看家本领,增加集群功能后当然不能对性能产生太大影响,所以Redis采取了P2P而非Proxy方式.异步复制.客户端重定向等设计,而牺牲了部分的一致性.使用性. 可用性:在Cluster推出之前,可用性要靠Sentinel保证.有了集群之后也自动具有了Sentinel的监控和自动Failover能力. 水平扩展:集群的

基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案

基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案 http://www.tuicool.com/articles/naeEJbv 基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案 时间 2014-02-21 15:15:17  IT社区推荐资讯 原文  http://itindex.net/detail/48192-redis-sentinel-redis Redis Sentinel是一个分布式系统,可以部署多个Se

Redis集群主从模式(理论)

redis集群主从模式介绍: 为保证数据的高可用性,redis clustar加入了主从模式:一个master对应一个或多个slave. master负责数据存取:slave负责同步master数据然后进行备份. 当master挂掉之后,就会在该master的slave中选取一个来代替mater角色, 从而保证redis集群slot的完整性. 如果其中一个mster和它的slave都挂掉后,会导致slot不完整,整个集群都会挂掉. master之间分配slots(16384个slot),如果检测

centos6下redis cluster集群部署过程

一般来说,redis主从和mysql主从目的差不多,但redis主从配置很简单,主要在从节点配置文件指定主节点ip和端口,比如:slaveof 192.168.10.10 6379,然后启动主从,主从就搭建好了.redis主从中如果主节点发生故障,不会自动切换,需要借助redis的Sentinel(哨兵模式)或者keepalive来实现主的故障转移. 今天介绍下redis cluster集群模式:redis集群是一个无中心的分布式redis存储架构,可以在多个节点之间进行数据共享,解决了redi

Redis Cluster集群总结性梳理

前面已经介绍了Redis Cluster集群及其部署过程,下面再补充下有关Redis Cluster应用原理部分内容,以便更加深刻透彻地理解Redis Cluster. 一.Redis Cluster集群最核心的三个目标 性能:这是Redis赖以生存的看家本领,增加集群功能后当然不能对性能产生太大影响,所以Redis采取了P2P而非Proxy方式.异步复制.客户端重定向等设计,而牺牲了部分的一致性.使用性. 水平扩展:集群的最重要能力当然是扩展,文档中称可以线性扩展到1000结点. 可用性:在C

Kubernetes 通过statefulset部署redis cluster集群

Kubernetes 通过statefulset部署redis cluster集群 作者: 张首富 时间: 2019-02-19 个人博客地址: https://www.zhangshoufu.com QQ群: 895291458 需要有redis基础 Redis集群架构图 每个Mater 都可以拥有多个slave.当Master掉线后,redis cluster集群会从多个Slave中选举出来一个新的Matser作为代替,而旧的Master重新上线后变成 Master 的Slave. 部署re

Redis本地集群搭建(5版本以上)

Redis本地集群搭建(5版本以上) 2019年11月3日10:05:48 步骤 1.下载安装Redis的安装包 2.复制5份,一共6份Redis的解压安装版,修改每个Redis节点的端口并开启节点 3.修改每个Redis节点的端口,以及开启集群模式 3.使用redis-cli --cluster create ip:port给集群的节点分配哈希槽(如果要使用主从,只需要添加master节点的ip:port即可) 4.使用redis-cli --cluster check ip:port查看节点

Redis Cluster集群搭建测试

# Redis Clutser # ## 一.Redis Cluster集群 ## 参考资料: http://www.cnblogs.com/lykxqhh/p/5690923.html Redis集群搭建的方式有多种,例如使用zookper等,但从redis3.0之后版本支持redis cluster集群,Redis Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接.其redis cluster架构图如下: 其结构特点: 1.所有的redis节点彼此互