使用版本:
Redis3
Jedis2.8
出现问题:Redis3集群设置了密码,在程序中Jedis2.8 通过JedisCluster 操作redis
系统报错
```redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required.
at redis.clients.jedis.Protocol.processError(Protocol.java:117) ~[jedis-2.8.0.jar:na]
at redis.clients.jedis.Protocol.process(Protocol.java:151) ~[jedis-2.8.0.jar:na]
at redis.clients.jedis.Protocol.read(Protocol.java:205) ~[jedis-2.8.0.jar:na]
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:297) ~[jedis-2.8.0.jar:na]
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:196) ~[jedis-2.8.0.jar:na]
at redis.clients.jedis.Jedis.set(Jedis.java:69) ~[jedis-2.8.0.jar:na]
at redis.clients.jedis.JedisCluster$1.execute(JedisCluster.java:58) ~[jedis-2.8.0.jar:na]
at redis.clients.jedis.JedisCluster$1.execute(JedisCluster.java:55) ~[jedis-2.8.0.jar:na]
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:119) ~[jedis-2.8.0.jar:na]
at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:30) ~[jedis-2.8.0.jar:na]
**经查证资料发现**
JedisCluster 中 jedisCluster.auth(password);方法并没有实现其具体内容。
**根据网上搜索资料**
http://www.cnblogs.com/snowstar123/p/5696052.html
在底层插入密码设定片段如下:
private void initializeSlotsCache(Set startNodes, GenericObjectPoolConfig poolConfig) {
for (HostAndPort hostAndPort : startNodes) {
Jedis jedis = new Jedis(hostAndPort.getHost(), hostAndPort.getPort());
jedis.auth("此处已输入正确密码");
try {
cache.discoverClusterNodesAndSlots(jedis);
break;
} catch (JedisConnectionException e) {
// try next nodes
可是问题依然存在,redis集群上个节点已经设定统一的密码,
jedis.auth("将此处输入错误密码");
会出现以下报错
![图片说明](https://img-ask.csdn.net/upload/201612/27/1482846345_813598.jpg)
输入正确密码依然报NOAUTH Authentication required.
求大神指点