上一篇文章介绍了linux下如何搭建集群:https://blog.csdn.net/qq_24392951/article/details/101014250
今天这篇文章讲解搭建集群遇到的问题:
1、linux下使用命令启动redis:
./redis-server redis.conf
遇到问题:
我本机telnet IP 端口号 不通
解决:
(1)由于是阿里云服务器,需要在控制台安全组开放对应的端口
(2)修改redis.conf里面为protected-mode no
(3)注释掉redis.conf里面的#bind 127.0.0.1
(4)接着重新启动redis,最后再次创建集群,参考下面写的第3条
2、之前我建立redis集群使用的命令是:
./redis-trib.rb create --replicas 1 127.0.0.1:6349 127.0.0.1:6359 127.0.0.1:6369 127.0.0.1:6379 127.0.0.1:6389 127.0.0.1:6399
遇到问题:
使用redis的jediscluster客户端进行测试出现以下异常:Too many Cluster redirections
由于java客户端在集群之外所以是这样写的:
Set nodes=new HashSet();
nodes.add(new HostAndPort(“47.105.98.15”, 6349));
nodes.add(new HostAndPort(“47.105.98.15”, 6359));
nodes.add(new HostAndPort(“47.105.98.15”, 6369));
nodes.add(new HostAndPort(“47.105.98.15”, 6379));
nodes.add(new HostAndPort(“47.105.98.15”, 6389));
nodes.add(new HostAndPort(“47.105.98.15”, 6399));
JedisCluster jc=new JedisCluster(nodes);
jc.set(“key1”, “hello word”);
host地址不匹配,导致Too many Cluster redirections
解决:
需要重新构建集群
./redis-trib.rb create --replicas 1 47.105.98.15:6349 47.105.98.15:6359 47.105.98.15:6369 47.105.98.15:6379 47.105.98.15:6389 47.105.98.15:6399
3、因为已经构建过一次集群,再次重新构建集群需要
(1)删除以下几个文件,否则构建失败
appendonly.aof dump.rdb nodes.conf
查找:find / -name appendonly.aof
删除:rm -rf appendonly.aof
…
(2)在Redis集群中,清空各个节点上的数据,并执行cluster reset指令
./redis-server -c -p 端口号
flushall
cluster reset
exit
(3)再次创建集群即可
./redis-trib.rb create --replicas 1 47.105.98.15:6349 47.105.98.15:6359 47.105.98.15:6369 47.105.98.15:6379 47.105.98.15:6389 47.105.98.15:6399