今天在虚拟机上安装了redis,并配置了redis cluster。

启动redis cluster使用的命令为:

./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

然后在eclipse上集成了springmvc和redisc cluster,配置文件中配置的ip为虚拟机实际IP:192.168.23.129,结果启动时总是报:Too many cluster redirections?

最后debug发现cluster中nodes中,既包含了127.0.0.1的节点,又包含192.168.23.129的节点。

所以猜测程序启动时会将服务器上实际存在的节点和配置的节点都加载到内存中,然后程序使用的192.168.23.129:端口,去访问节点,而服务器上并没有该节点。

之后就将虚拟机上的cluster节点全部删除,重新创建节点,创建时使用实际ip192.168.23.129,即:

./redis-trib.rb create --replicas 1 192.168.23.129:7000 192.168.23.129:7001 192.168.23.129:7002 192.168.23.129:7003 192.168.23.129:7004 192.168.23.129:7005

再次启动程序,可以正常启动,并从redis中存入和读取数据

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐