docker搭建redis集群

Dcoker搭建Redis主从集群

1.启动6个redis
    docker run 
        --net host
        -d 
        -v /home/ws/node-1/data:/data 
        --privileged=true 
        --name redis-node-1 
        -p 6381:6379 
        redis:6.0.8 
        --cluster-enabled yes 
        --appendonly yes 
        --port 6381

2.进入容器
    exec -it redis-node-1 bash
    2.1 配置主从
        redis-cli --cluster create 
            192.168.170.181:6381 
            192.168.170.181:6382 
            192.168.170.181:6383 
            192.168.170.181:6384 
            192.168.170.181:6385 
            192.168.170.181:6386 
            --cluster-replicas 1
    2.2 查看主从节点集群状态
    redis-cli --cluster  check 192.168.170.181:6831(端口号随意,只是一个落地的抓手)
        2.2 进入6381redis服务器
            redis-cli -p 192.168.170.181:6381 -c(数据不一定存在6831,配置-c可以自动寻找切换节点查找数据)
            set k1 v1
            get k1 v1
            cluster info
            cluster nodes
            
3.主从切换(主机宕机)
    主机宕机(6381),从机上位(6384)
    重启主机,关闭从机,再重启从机,
    主从恢复

4.主从扩容
    添加主节点到集群
        redis-cli --cluster add-node ip:6387 ip:6381(原集群master节点,此处也是作为一个切入点)
    重新分配hash槽
        redis-cli --cluster reshard ip:6381(同上,选择平分所有槽)
    添加从节点到集群
        redis-cli --cluster add-node ip:新从节点端口 ip:新主机节点端口 --cluster-slave --cluster-master-id 新主机nodeId
    
5.主从缩容
    删除从节点
        redis-cli --cluster del-node ip:port 从节点nodeId
    重新分配hash槽
        redis-cli --cluster reshard ip:6381(把空出来的槽全都倒给6381,也可以配置多个节点接收)
    删除主节点
        redis-cli --cluster del-node ip:port 主节点nodeId

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值