linux环境下redis-cluster集群部署以及jedis连接redis集群超时的问题

环境:

 redis版本:5.0.7 

阿里云服务器:centos7.5

jedis 2.9.0

借鉴博客:https://blog.csdn.net/baidu_38558076/article/details/90707045

但是他这个有问题,就是修改启动脚本ip的问题!

看图:


修改完你ip之后,执行 ./create-cluster start 命令,你会看到你的redis实例.


这里ip就是 你的linux系统本身的 ip .

之后执行 ./create-cluster create 命令.在执行这个命令之前,你需要在阿里云服务器上开辟你的端口:



我的示例 redis集群端口:30001-30020  redis集群通信端口是在基础端口上加10000,所以就是 40001-40020.

集群创建成功



使用jedis连接redis集群代码示例:


在new JedisCluster();时候 jedis会获取 redis集群的节点信息(节点 对应的 slots虚拟槽信息) 保存在缓存中.

在脚本执行 redis-cli -a test1234 --cluster create ip:port --cluster-replicas 1 --no-auth-warning 的时候,

如果这里不使用公网ip,那么在jedis获取节点信息的时候,是获取不到你的公网ip,获取的是你 定义的那个ip,所以这样你是连接超时的.

附图成功插入数据:



补充: 按照以上配置,主从节点监听会有问题,需要更改配置



需要加上  masterauth 主节点密码  要不然不会做主从替换,也不会做数据同步    重点

推荐阅读更多精彩内容