配置redisCluster集群

我就是我 2022-05-06 16:28 496阅读 0赞

70

1.安装Redis镜像

  1. docker pull yyyyttttwwww/redis

2.创建net2网段

  1. docker network create --subnet=172.19.0.0/16 net2

3创建1个节点Redis容器

  1. #redis镜像改名:
  2. docker tag docker.io/yyyyttttwwww/redis redis
  3. #删除旧的redis
  4. docker rmi docker.io/yyyyttttwwww/redis
  5. #创建6个redis容器
  6. docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash
  7. docker run -it -d --name r2 -p 5002:6379 --net=net2 --ip 172.19.0.3 redis bash
  8. docker run -it -d --name r3 -p 5003:6379 --net=net2 --ip 172.19.0.4 redis bash
  9. docker run -it -d --name r4 -p 5004:6379 --net=net2 --ip 172.19.0.5 redis bash
  10. docker run -it -d --name r5 -p 5005:6379 --net=net2 --ip 172.19.0.6 redis bash
  11. docker run -it -d --name r6 -p 5006:6379 --net=net2 --ip 172.19.0.7 redis bash

4.分别修改每个redis容器的配置文件,使得集群功能开启,如下是修改r1 这个容器,其他容器修改方式同理,虽然这种方式不是很快捷,重复性劳动比较多, 如果redis的个数是成百的,那么会很不方便,这里先暂且以满足目标为导向,暂不考虑效率问题

docker exec -it r1 sh

vi /usr/redis/redis.conf

修改:daemonize yes

  1. cluster-enabled yes
  2. cluster-config-file nodes.conf
  3. cluster-node-timeout 15000
  4. appendonly yes

70 1

注意还要修改bind ,bind对应你docker run时的指定ip ,每个redis集群的ip都不一样,比如我其中一个redis ip是172.19.0.2 ,那么我就要将bind 修改为172.19.0.2,如下:

70 2

  1. cd /usr/redis/src
  2. ./redis-server ../redis.conf
  3. #这里我把对各个redis的操作命令整理,方便快速搭建
  4. #进入r1节点
  5. docker exec -it r1 bash
  6. vi /usr/redis/redis.conf #修改redis.conf
  7. cd /usr/redis/src
  8. ./redis-server ../redis.conf
  9. ps -ef | grep redis #检查启动是否是正确的ip
  10. #进入r2节点
  11. docker exec -it r2 bash
  12. vi /usr/redis/redis.conf #修改redis.conf
  13. cd /usr/redis/src
  14. ./redis-server ../redis.conf
  15. ps -ef | grep redis #检查启动是否是正确的ip
  16. #进入r3节点
  17. docker exec -it r3 bash
  18. vi /usr/redis/redis.conf #修改redis.conf
  19. cd /usr/redis/src
  20. ./redis-server ../redis.conf
  21. ps -ef | grep redis #检查启动是否是正确的ip
  22. #进入r4节点
  23. docker exec -it r4 bash
  24. vi /usr/redis/redis.conf #修改redis.conf
  25. cd /usr/redis/src
  26. ./redis-server ../redis.conf
  27. ps -ef | grep redis #检查启动是否是正确的ip
  28. #进入r5节点
  29. docker exec -it r5 bash
  30. vi /usr/redis/redis.conf #修改redis.conf
  31. cd /usr/redis/src
  32. ./redis-server ../redis.conf
  33. ps -ef | grep redis #检查启动是否是正确的ip
  34. #进入r6节点
  35. docker exec -it r6 bash
  36. vi /usr/redis/redis.conf #修改redis.conf
  37. cd /usr/redis/src
  38. ./redis-server ../redis.conf
  39. ps -ef | grep redis #检查启动是否是正确的ip

5.使用redis-trib.rb构建redis 集群

  1. docker exec -it r1 sh
  2. cd /usr/redis
  3. mkdir cluster
  4. cp /usr/redis/src/redis-trib.rb /usr/redis/cluster
  5. cd /usr/redis/cluster
  6. #创建ruby环境
  7. gem #测试是否有ruby环境,我的redis镜像默认是拥有ruby的环境,如果有,则直接进入#创建Cluster集群
  8. apk add ruby
  9. apk add rubygems
  10. gem install redis
  11. #检查测试
  12. ps -ef| grep redis
  13. root 65 0 0 06:54 ? 00:00:00 ./redis-server 172.19.0.2:6379 [cluster]
  14. #显示172.19.0.2:6379,而不是127.0.0.1:6379代表成功
  15. #创建Cluster集群
  16. cd /usr/redis/cluster
  17. ./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379

6.测试redis 的高可用性,高性能

/usr/redis/src/redis-cli -c -h 172.19.0.2 # -c代表以集群方式启动 ,注意要加上-h指定是哪个ip

set a 10

70 3

测试结果显示正常!!!

发表评论

表情:
评论列表 (有 0 条评论,496人围观)

还没有评论,来说两句吧...

相关阅读