• redis部署cluster


    docker-compose 部署方式

    文件存放位置

     docker-compose.yml

    version: '3'
    services:
      node1:
        image: redis
        container_name: node1
        restart: always
        ports:
          - 10403:10403
          - 20403:20403
        # 指定时区,保证容器内时间正确
        environment:
           TZ: "Asia/Shanghai"
        sysctls:
           # 必要的内核参数
           net.core.somaxconn: '1024'
        volumes:
          - ./data/node1:/data
          - ./conf/node1.conf:/usr/local/etc/redis/redis.conf
        command: redis-server /usr/local/etc/redis/redis.conf
      node2:
        image: redis
        container_name: node2
        restart: always
        ports:
          - 10404:10404
          - 20404:20404
        # 指定时区,保证容器内时间正确
        environment:
           TZ: "Asia/Shanghai"
        sysctls:
           # 必要的内核参数
           net.core.somaxconn: '1024'
        volumes:
          - ./data/node2:/data
          - ./conf/node2.conf:/usr/local/etc/redis/redis.conf
        command: redis-server /usr/local/etc/redis/redis.conf
      node3:
        image: redis
        container_name: node3
        restart: always
        ports:
          - 10405:10405
          - 20405:20405
        # 指定时区,保证容器内时间正确
        environment:
           TZ: "Asia/Shanghai"
        sysctls:
           # 必要的内核参数
           net.core.somaxconn: '1024'
        volumes:
          - ./data/node3:/data
          - ./conf/node3.conf:/usr/local/etc/redis/redis.conf
        command: redis-server /usr/local/etc/redis/redis.conf

    node1.conf,其余两个套出来

    # bind 127.0.0.1
    # 关闭保护模式
    protected-mode no
    # 绑定自定义端口
    port 10403
    # 禁止redis后台运行
    # daemonize yes
    pidfile /var/run/redis_10403.pid
    # 开启集群
    cluster-enabled yes
    # 集群的配置 配置文件首次启动自动生成
    cluster-config-file nodes_10403.conf
    # 开启aof
    appendonly yes
    # 要宣布的IP地址。nat模式要指定宿主机IP
    cluster-announce-ip 192.168.2.126
    # 要宣布的数据端口。
    cluster-announce-port 10403
    # 要宣布的集群总线端口,注意,这里端口必须是数据端口+10000
    cluster-announce-bus-port 20403

    执行命令

    1. docker-compose up -d 启动容器

    2. docker exec -it node1 /bin/bash 进入容器

    3. redis-cli create --cluste ip:port ip:port ip:port(这里有几个node就填写几个,最少3个)  --cluster-replicas 0(这里是分片,我启动的node少,就没要了)  初始化集群

    不初始化,会报集群不能使用

    4. redis-cli -h 127.0.0.1 -p 10403 -c 进入命令行,注意,-c是为了接下命令行是cluster命令模式,不然set get 不会自动跳转到对应的node上

    5. cluster info 查看相关信息

    6. cluster nodes 查看集群中节点信息

  • 相关阅读:
    日期型数据知识
    如何让VS检查函数和类Comment的添加情况
    HTTP request is unauthorized with client authentication scheme 'Anonymous'.
    将SerializableAttribute序列化为xml
    使用EnterpriseLibrary Validation Block对WCF做验证
    表达式树中递归方法
    使用SignalR在Asp.net中实现进度条
    SQLServer中列出数据库的所有表的创建时间
    用Knockoutjs与Asp.net MVC实现级联下拉列表
    使用UnityAutoMoq简化单元测试
  • 原文地址:https://www.cnblogs.com/kongkongFabian/p/12187566.html
Copyright © 2020-2023  润新知