docker 分布式redis集群部署

1. 创建6个redis docker容器, node1, node2, node3, node4, node5, node6

创建容器命令:

docker run -d --name=redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381

            --net host    使用宿主机的ip和端口 ,默认

            --privileged=true     获取宿主机root用户权限

            -v /data/redis/share/redis-node-1:/data    数据卷

            reids:6.0.8     redis镜像和版本号

            -- cluster-enabled yes     开启redis集群   

            --appendonly yes            开启持久化    

            --port 8386            redis端口号


2. 进入某个redis容器,部署集群

        docker exec -it redis-node-1/bin/bash        进入容器

        redis-cli --cluster create redis-node1容器ip:端口 redis-node2容器ip:端口 redis-node3容器ip:端口 redis-node4容器ip:端口 redis-node5容器ip:端口 redis-node6容器ip:端口 --cluster-replicas 1

        6个redis组成集群 ,--cluster-replicas 1 表示为每个mater创建一个slave节点


3. 已集群模式查看redis          redis-cli -p 6481 -c

    查看集群node     cluster nodes               

    查看集群信息     redis-cli --cluster check redis容器IP:端口


4. 主从扩容 

       新增两个redis节点 node7, node8

        新增节点加入集群中            redis-cli --cluster add-node 新节点IP:端口 集群某个master节点IP:端口

        重新分配槽号slot          redis-cli --cluster reshard 集群某个master节点IP:端口(6381)

    

    node8分配为node7的slave节点        

       redis-cli --cluster add-node node8 IP:端口  node7 IP:端口  --cluster-slave --cluster-master-id node7mater节点ID


5. 主从缩容

    将node7, node8 从集群中去除

    先去除从节点 node8            redis-cli --cluster del-node  node8 IP:端口  node8节点ID

    将mater节点node7分配到的槽号slot清空

    redis-cli --cluster reshard 集群某个master节点IP:端口(6381)       重新分配槽号


       将node7节点从集群中删除        redis-cli --cluster del-node  node7 IP:端口  node7节点ID

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容