Redis 集群

发布于:2025-02-11 ⋅ 阅读:(42) ⋅ 点赞:(0)

Redis-Cluster

1、redis配置文件

redis.conf

port 7006
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 117.50.198.127
cluster-announce-port 7006
cluster-announce-bus-port 17006
appendonly yes

如果是在不同服务器上,需要添加

bind 0.0.0.0

2、docker配置文件 

docker-compose.yml

  redis1:

    image: redis:6.2.12

    container_name: redis1

    ports:

      - "7001:7001"

    environment:

      # 时区上海

      TZ: Asia/Shanghai

    volumes:

      # 配置文件

      - /docker/redis1/conf:/redis/config

      # 数据文件

      - /docker/redis1/data/:/redis/data/

    command: "redis-server /redis/config/redis.conf"

    restart: always

    privileged: true

    network_mode: "host"


 

  redis2:

    image: redis:6.2.12

    container_name: redis2

    ports:

      - "7002:7002"

    environment:

      # 时区上海

      TZ: Asia/Shanghai

    volumes:

      # 配置文件

      - /docker/redis2/conf:/redis/config

      # 数据文件

      - /docker/redis2/data/:/redis/data/

    command: "redis-server /redis/config/redis.conf"

    restart: always

    privileged: true

    network_mode: "host"


 

  redis3:

    image: redis:6.2.12

    container_name: redis3

    ports:

      - "7003:7003"

    environment:

      # 时区上海

      TZ: Asia/Shanghai

    volumes:

      # 配置文件

      - /docker/redis3/conf:/redis/config

      # 数据文件

      - /docker/redis3/data/:/redis/data/

    command: "redis-server /redis/config/redis.conf"

    restart: always

    privileged: true

    network_mode: "host"


 

  redis4:

    image: redis:6.2.12

    container_name: redis4

    ports:

      - "7004:7004"

    environment:

      # 时区上海

      TZ: Asia/Shanghai

    volumes:

      # 配置文件

      - /docker/redis4/conf:/redis/config

      # 数据文件

      - /docker/redis4/data/:/redis/data/

    command: "redis-server /redis/config/redis.conf"

    restart: always

    privileged: true

    network_mode: "host"


 

  redis5:

    image: redis:6.2.12

    container_name: redis5

    ports:

      - "7005:7005"

    environment:

      # 时区上海

      TZ: Asia/Shanghai

    volumes:

      # 配置文件

      - /docker/redis5/conf:/redis/config

      # 数据文件

      - /docker/redis5/data/:/redis/data/

    command: "redis-server /redis/config/redis.conf"

    restart: always

    privileged: true

    network_mode: "host"


 

  redis6:

    image: redis:6.2.12

    container_name: redis6

    ports:

      - "7006:7006"

    environment:

      # 时区上海

      TZ: Asia/Shanghai

    volumes:

      # 配置文件

      - /docker/redis6/conf:/redis/config

      # 数据文件

      - /docker/redis6/data/:/redis/data/

    command: "redis-server /redis/config/redis.conf"

    restart: always

    privileged: true

    network_mode: "host"

3、容器内执行创建集群命令
docker exec -it redis1 /bin/bash
#--cluster-replicas 1表示有一个副本:redis会拿出3台做主机,3太做副本
redis-cli --cluster create 117.50.198.127 :7001 117.50.198.127 :7002 117.50.198.127 :7003 117.50.198.127 :7004 117.50.198.127 :7005 117.50.198.127 :7006 --cluster-replicas 1

如果配置了密码

redis-cli -a your_password --cluster create 117.50.198.127:7001 117.50.198.127:7002 117.50.198.127:7003 117.50.198.127:7004 117.50.198.127:7005 117.50.198.127:7006 --cluster-replicas 1

 4、执行yes

  5、测试结果

单机连接

redis-cli -h 117.50.198.127 -p 7001 -a your_password

集群连接

redis-cli -c -h 117.50.198.127 -p 7001 -a your_password  

  6、查询集群

#状态

cluster info

#信息

cluster nodes


网站公告

今日签到

点亮在社区的每一天
去签到