文章目录
- 一、问题
- 二、什么是集群
- 三、删除持久化数据
- 四、制作 6 个实例 6379,6380,6381,6389,6390,6391
- 五、将六个节点合成一个集群
- 六、采用集群策略连接,设置数据会自动切换到相应的写主机
- 七、通过 cluster nodes 命令查看集群信息
- 八、redis cluster 如何分配这六个节点?
- 九、什么是slots
- 十、在集群中录入值
- 十一、查询集群中的值
- 十二、故障恢复
- 十三、集群的Jedis开发
- 十四、Redis 集群提供了以下好处
- 十五、Redis 集群的不足
一、问题
容量不够,redis如何进行扩容?
并发写操作, redis如何分摊?
另外,主从模式,薪火相传模式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址、端口等信息。
之前通过代理主机来解决,但是redis3.0中提供了解决方案。就是无中心化集群配置。
二、什么是集群
Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。
Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。
三、删除持久化数据
将rdb,aof文件都删除掉。
四、制作 6 个实例 6379,6380,6381,6389,6390,6391
4.1 配置基本信息
开启daemonize yes
Pid文件名字
指定端口
Log文件名字
Dump.rdb名字
Appendonly 关掉或者换名字
4.2 redis cluster 配置修改
cluster-enabled yes 打开集群模式
cluster-config-file nodes-6379.conf 设定节点配置文件名
cluster-node-timeout 15000 设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换。
include /home/bigdata/redis.conf
port 6379
pidfile "/var/run/redis_6379.pid"
dbfilename "dump6379.rdb"
dir "/home/bigdata/redis_cluster"
logfile "/home/bigdata/redis_cluster/redis_err_6379.log"
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000