Redis不支持集群错误——ERR This instance has cluster support disabled

缘起

最近手动配置了Redis的连接池

1@Bean 2public RedisTemplate<String, Object> redisTemplate() { 3 RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(); 4 redisClusterConfiguration.setClusterNodes(Arrays.asList(new RedisNode(redisHost,port))); 5 redisClusterConfiguration.setPassword(password); 6 LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(redisClusterConfiguration); 7 RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration(); 8 redisStandaloneConfiguration.setHostName(redisHost); 9 redisStandaloneConfiguration.setPort(port); 10 redisStandaloneConfiguration.setPassword(password); 11 LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(redisStandaloneConfiguration); 12 lettuceConnectionFactory.setDatabase(db); 13 lettuceConnectionFactory.afterPropertiesSet(); 14 RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); 15 redisTemplate.setConnectionFactory(lettuceConnectionFactory); 16 Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); 17 // 设置值(value)的序列化采用Jackson2JsonRedisSerializer。 18 redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); 19 // 设置键(key)的序列化采用StringRedisSerializer。 20 redisTemplate.setKeySerializer(new StringRedisSerializer()); 21 redisTemplate.setHashKeySerializer(new StringRedisSerializer()); 22 redisTemplate.afterPropertiesSet(); 23 return redisTemplate; 24}

使用时报错:

1Details: 2 [redis://***************************@xxx]: ERR This instance has cluster support disabled 3 4 Suppressed: io.lettuce.core.RedisCommandExecutionException: ERR This instance has cluster support disabled 5 at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:147) 6 at io.lettuce.core.internal.Exceptions.bubble(Exceptions.java:72) 7 at io.lettuce.core.cluster.topology.DefaultClusterTopologyRefresh.getException(DefaultClusterTopologyRefresh.java:402) 8 at io.lettuce.core.cluster.topology.DefaultClusterTopologyRefresh.tryFail(DefaultClusterTopologyRefresh.java:173) 9 at io.lettuce.core.cluster.topology.DefaultClusterTopologyRefresh.lambda$null$9(DefaultClusterTopologyRefresh.java:150) 10 at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) 11 at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) 12 at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) 13 at io.lettuce.core.RedisChannelHandler.lambda$closeAsync$0(RedisChannelHandler.java:189) 14 at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) 15 at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) 16 at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) 17 at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) 18 at io.lettuce.core.internal.Futures.lambda$adapt$1(Futures.java:120) 19 at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590) 20 at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:557) 21 at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492) 22 at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636) 23 at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625) 24 at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:105) 25 at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84) 26 at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:990) 27 at io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:756) 28 at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:731) 29 at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:620) 30 at io.netty.channel.DefaultChannelPipeline$HeadContext.close(DefaultChannelPipeline.java:1352) 31 at io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:749) 32 at io.netty.channel.AbstractChannelHandlerContext.access$1200(AbstractChannelHandlerContext.java:61) 33 at io.netty.channel.AbstractChannelHandlerContext$11.run(AbstractChannelHandlerContext.java:732) 34 at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) 35 at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) 36 at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) 37 at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) 38 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) 39 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 40 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) 41 at java.base/java.lang.Thread.run(Thread.java:833) 42 Caused by: io.lettuce.core.RedisCommandExecutionException: ERR This instance has cluster support disabled 43 at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:147) 44 at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:116) 45 at io.lettuce.core.protocol.AsyncCommand.completeResult(AsyncCommand.java:120) 46 at io.lettuce.core.protocol.AsyncCommand.complete(AsyncCommand.java:111) 47 at io.lettuce.core.cluster.topology.TimedAsyncCommand.complete(TimedAsyncCommand.java:52) 48 at io.lettuce.core.protocol.CommandHandler.complete(CommandHandler.java:747) 49 at io.lettuce.core.protocol.CommandHandler.decode(CommandHandler.java:682) 50 at io.lettuce.core.protocol.CommandHandler.channelRead(CommandHandler.java:599) 51 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) 52 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) 53 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) 54 at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) 55 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) 56 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) 57 at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) 58 at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) 59 at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) 60 at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) 61 at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) 62 at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)

修改RedisServer配置解决

提示语ERR This instance has cluster support disabled说明RedisServer不支持集群,网上很多文章都是修改Server配置重启解决此问题的,这不再赘述

修改RedisClient配置解决

我没公司RedisServer权限,公司的RedisServer不是集群部署,就是单个,那就只能从配置上修改一下了,Configuration从Cluster变成Standalone即可

1@Bean 2public RedisTemplate<String, Object> redisTemplate() { 3 4 RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration(); 5 redisStandaloneConfiguration.setHostName(redisHost); 6 redisStandaloneConfiguration.setPort(port); 7 redisStandaloneConfiguration.setPassword(password); 8 LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(redisStandaloneConfiguration); 9 lettuceConnectionFactory.setDatabase(db); 10 lettuceConnectionFactory.afterPropertiesSet(); 11 12 RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); 13 redisTemplate.setConnectionFactory(lettuceConnectionFactory); 14 Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); 15 // 设置值(value)的序列化采用Jackson2JsonRedisSerializer。 16 redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); 17 // 设置键(key)的序列化采用StringRedisSerializer。 18 redisTemplate.setKeySerializer(new StringRedisSerializer()); 19 redisTemplate.setHashKeySerializer(new StringRedisSerializer()); 20 21 redisTemplate.afterPropertiesSet(); 22 return redisTemplate; 23}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

VBox 启动虚拟机失败

在Vbox(5.0.8版本)启动Ubuntu的虚拟机时,遇到错误信息:NtCreateFile(\\Device\\VBoxDrvStub)failed:0xc000000034STATUS\_OBJECT\_NAME\_NOT\_FOUND(0retries) (rc101)Makesurethekern

FLV文件格式

1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  

mysql设置时区

mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0