redis集群搭建比较简单,redis源码包也提供了一个现成的脚本。
- 首先需要先开启多个redis实例,不少于三个。同一个机器开多个实例 https://blog.csdn.net/qq_39314099/article/details/102796327
我在一台机器开了两个实例,另一个机器开了一个redis实例。
打开redis集群支持功能,设置集群节点配置信息文件和超时时间。
- 创建一个集群:
redis-cli -a password --cluster create 192.168.179.128:6379 192.168.179.128:6380 192.168.179.123:6379
执行命令,发现一直在等待节点加入。开始以为是网速等原因,后来发现单机版多实例很快就可以创建好,所以怀疑有其他原因。
检查防火墙端口,6379、6380都已经开放。仔细阅读配置文件中和集群相关部分:
终于发现了一些端倪,这里还存在一个集群总线的概念,总线也有端口,而且默认是在实例端口上 + 10000.
所以在防火墙开启总线的端口。问题解决。
另外,在开启集群后,进入某一个节点进行操作时,有可能会返回 error moved重定向提示,提示内容为这个槽是哪个节点负责。
redis默认命令行是支持自动集群重定向的,只需要在开启的时候加一个 -c 的参数即可。