• 使用docker redis-cluster集群搭建


    参考https://www.cnblogs.com/cxbhakim/p/9151720.html此文

    主要搭建过程参考上文,此处讲下主要过程和遇到的坑

    1. 首先是镜像的基础搭建,我不知道是否是作者编写时和我现在的版本不同了,第一个坑点Dockerfile中FROM Centos:7
      ,这
      去掉算是博文复制时的bug吧,还有Centos现在不支持大写,需要改成centos
    2. Dockerfile中的注释部分,编码可能有问题,需要正常运行最好把所有注释都删了
    3. 构建docker build -t hakimdstx/cluster-redis . 该镜像的时候,根据后文明显这里需要改成docker build -t hakimdstx/cluster-redis:4.0.1 . 不知道为什么会漏了,后文需要用到Tag版本,否则后面的脚本别加版本号
    4. 集群镜像建完,后又建了个节点镜像。。在我理解其实这两个可以合并成一个的,不知有何高见
    5. 之后用节点镜像启动多个redis节点,之后就是用redis远程命令查看节点信息啥的,这里我稍微蒙了会,因为作者没讲从哪里执行命令。。我考虑了下可以有至少两种方法,1. 使用下载包中src内有个redis-cli,我的地址/root/docker_redis_cluster/redis-4.0.1/src/redis-cli,可以用这个客户端调用命令 2. 我本地使用的window,用redis DeskTop Manager来远程连接redis,执行命令
    6. 然后使用Redis Cluster 的集群感知操作,CLUSTER MEET 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
    7. 这样还不够,还要分配槽slot,他使用脚本,这里注意了,如果你是在服务器上部署,最好ifconfig查看下服务器内网地址,用内网地址替换他的脚本地址,还有密码,我设的密码就有)这种符号,需要把整个密码单引号包起来,否则也会报错
    8. 然后是从节点添加,cluster nodes查看所有主节点并记下id,对应脚本替换3个主节点id,运行脚本
    9. 故障转义,若自动转义失败,需要手工转义 ,登录从机CLUSTER FAILOVER force。这里模拟主节点6379挂了

      发现故障自动转移,从节点自动升级为主节点,重启后原主节点自动降为从节点
    10. 然后再看看搭建完的redis集群占用空间情况

      可以看到,在没存入数据前,几乎不占用多少内存,所以测试搭建在一台1核1G的服务也是没什么压力的
    11. 日志存放点

    总结

    • docker搭建redis集群还是比较容易的,当然我觉得线上环境不应该这么简单,至少把日志、配置文件都挂载到指定目录,这样配置重启都方便点
  • 相关阅读:
    Spring RedisTemplate操作-注解缓存操作(11)
    Spring RedisTemplate操作-通道操作(10)
    Spring RedisTemplate操作-事务操作(9)
    Spring RedisTemplate操作-发布订阅操作(8)
    Spring RedisTemplate操作-HyperLogLog操作(7)
    Spring RedisTemplate操作-Set操作(5)
    Spring RedisTemplate操作-ZSet操作(6)
    Spring RedisTemplate操作-List操作(4)
    Spring RedisTemplate操作-哈希操作(3)
    Spring RedisTemplate操作-String操作(2)
  • 原文地址:https://www.cnblogs.com/sky-chen/p/9810613.html
Copyright © 2020-2023  润新知