目录
一、分布式存储哈希取余法
二、一致性哈希算法
2.1、一致性哈希环
三、配置docker的redis集群
3.1、启动六台redis容器服务
3.2、构建redis的集群关系
3.3、查看节点状态
3.3.1、查看节点信息
3.3.2、查看当前节点
3.4、redis集群读写错误解决
3.5、查看集群信息
一、分布式存储哈希取余法
布置redis集群,使用数据总量除以集群里的redis服务器数,以达到负载均衡和分为治之
适合于小公司使用。
二、一致性哈希算法
“一致性哈希算法在1997年由麻省理工学院提出,是一种特殊的哈希算法,目的是解决分布式缓存的问题。在移除或者添加一个服务器时,能够尽可能小地改变已存在的服务请求与处理请求服务器之间的映射关系。
2.1、一致性哈希环
参考吴帝永的一致性哈希环:http://t.csdn.cn/vQPkq
三、配置docker的redis集群
3.1、启动六台redis容器服务
#第一台redis服务
docker run -d --name=redis1 --net host --privileged=true -v /data/redis/share/redis1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381
#第二台redis服务
docker run -d --name=redis2 --net host --privileged=true -v /data/redis/share/redis2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382
#第三台redis服务
docker run -d --name=redis3 --net host --privileged=true -v /data/redis/share/redis3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383
#第四台redis服务
docker run -d --name=redis4 --net host --privileged=true -v /data/redis/share/redis4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384
#第五台redis服务
docker run -d --name=redis5 --net host --privileged=true -v /data/redis/share/redis5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385
#第六台redis服务
docker run -d --name=redis6 --net host --privileged=true -v /data/redis/share/redis6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386
#第一台redis服务 docker run -d --name=redis1 --net host --privileged=true -v /data/redis/share/redis1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381 #第二台redis服务 docker run -d --name=redis2 --net host --privileged=true -v /data/redis/share/redis2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382 #第三台redis服务 docker run -d --name=redis3 --net host --privileged=true -v /data/redis/share/redis3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383 #第四台redis服务 docker run -d --name=redis4 --net host --privileged=true -v /data/redis/share/redis4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384 #第五台redis服务 docker run -d --name=redis5 --net host --privileged=true -v /data/redis/share/redis5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385 #第六台redis服务 docker run -d --name=redis6 --net host --privileged=true -v /data/redis/share/redis6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386
3.2、构建redis的集群关系
#进入redis容器
docker exec -it redis1 /bin/bash
#配置redis集群
redis-cli --cluster create 192.168.200.130:6381 192.168.200.130:6382 192.168.200.130:6383 192.168.200.130:6384 192.168.200.130:6385 192.168.200.130:6386 --cluster-replicas 1
3.3、查看节点状态
3.3.1、查看节点信息
cluster info
cluster info
3.3.2、查看当前节点
cluster nodes
3.4、redis集群读写错误解决
原因:
解决方法:
3.5、查看集群信息
redis-cli --cluster check 192.168.200.130:6381



