Flink项目中使用redisCluster时,发生java.lang.NumberFormatException: For input string 7005@17005异常的解决办法

问题描述:

今天在我的一个Flink项目中,需要用到redisCluster连接redis集群。我的项目是用maven进行自动化构建,原先的maven依赖长这样:

<!--	redis	-->
<dependency>
	<groupId>org.apache.flink</groupId>
	<artifactId>flink-connector-redis_2.11</artifactId>
	<version>1.1.5</version>
</dependency>

Redis连接部分的代码是这样子滴:

@Override
public void open(int taskNumber, int numTasks) throws IOException {
    jedisCluster = new JedisCluster(hostSet, 6000, 10, poolConfig);
}

项目启动的时候发生了异常:

java.lang.NumberFormatException: For input string 7005@17005

这是因为maven构建时 flink-connector-redis 包中引用了redis.clients.2.8.0版本,和服务端redis集群使用的redis版本不一致。redis服务器的版本为:

[root@dev-test-7 ~]# docker run -it redis redis-server --version
Redis server v=6.0.4 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=d5d470262d47f1a0

解决办法:

把redis client依赖的版本从2.8.0改到2.9.0就可以了。

		<!--	redis	-->
<dependency>
	<groupId>org.apache.flink</groupId>
	<artifactId>flink-connector-redis_2.11</artifactId>
	<version>1.1.5</version>
	<exclusions>
		<exclusion>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
		</exclusion>
	</exclusions>
</dependency>
<dependency>
	<groupId>redis.clients</groupId>
	<artifactId>jedis</artifactId>
	<version>2.9.0</version>
</dependency>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值