redis Illegal character in scheme name at index 0: []r[]e[]d[]i[]s[]:[]/[]/[

记两次问题排查。

同样的错误:

redis Illegal character in scheme name at index 0: []r[]e[]d[]i[]s[]:[]/[]/[

两次的原因:

1. 引用的redis jar 包版本有问题,换版本后解决。

2. redis 集群搭建有问题。

主要记录第二次,redis 集群搭建问题:

部署上云的java微服务模块启动的时候报这个错。它需要连接一个搭建在本机上的redis集群

搜索了一番后,发现问题在集群搭建上:

因为在用 redis-cli查询 cluster nodes,返回的节点只有自己。

./src/redis-cli -h x.xx.x.xxx -p 7002 -a qq
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
1.94.1.189:7002> cluster nodes
85653e4b21c46d1bb6f2b1e74595bbcb30a7b97e :7002@17002 myself,master - 0 0 3 connected 10923-16383

那么重新构建集群:

redis-cli -a qq --cluster create 1.98.x.xxx:7000 1.98.x.xxx:7001 1.98.x.xxx:7002 1.98.x.xxx:7003 1.98.x.xxx:7004 1.98.x.xxx:7005 --cluster-replicas 1

IP是云服务器外网地址1.98.x.xxx,从本地远程连接云服务器跑这个命令,结果卡在"Waiting for the cluster to join........"

搜索发现可能是集群总线端口没配好,于是在 启动redis docker的 docker-compose 文件里添加了 该端口:

远程访问也改成了本机访问:

redis-cli -a qq --cluster create 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 --cluster-replicas 1

还是会卡在"Waiting for the cluster to join........"

再把 IP 换成各个容器的内网 IP:

redis-cli -a qq --cluster create 172.24.0.4:7000 172.24.0.6:7001 172.24.0.3:7002 172.24.0.2:7003 172.24.0.7:7004 172.24.0.5:7005 --cluster-replicas 1

终于成功了:

 此时,再去跑我的 java程序,就不再有"redis Illegal character in scheme name at index 0: []r[]e[]d[]i[]s[]:[]/[]/["这个错误了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值