连接redis集群:
docker exec -it [redis容器名称] redis-cli -h [ip地址] -p [端口号] -c
添加redis主节点:
docker run -it --rm redis redis-cli --cluster add-node [被添加的节点ip:端口] [添加目标节点ip:端口]
添加redis从节点:
docker run -it --rm redis --cluster add-node --cluster-slave --cluster-master-id [主节点id] [被添加的节点ip:端口]
分配槽点:
docker run -it --rm redis redis-cli --cluster reshard [需要分配的ip:端口]
平衡槽点:
docker run -it --rm redis redis-cli --cluster rebalance --cluster-use-empty-masters [ip:端口]
注明:
–use-empty-masters:rebalance是否考虑没有节点的master,默认没有分配slot节点的master是不参与rebalance的,设置–use-empty-masters可以让没有分配slot的节点参与rebalance。
–simulate:设置该参数,可以模拟rebalance操作,提示用户会迁移哪些slots,而不会真正执行迁移操作。
–host:port:这个是必传参数,用来从一个节点获取整个集群信息,相当于获取集群信息的入口。
–pipeline :与reshar的pipeline参数一样,定义cluster getkeysinslot命令一次取出的key数量,不传的话使用默认值为10。