重写代码实现Flink连接Redis集群(Java版,解决Flink无法连接私有IP Redis集群问题)

本文介绍了如何解决Flink使用第三方工具bahir无法连接私有IP Redis集群的问题。作者详细分析了bahir源码,发现由于使用InetSocketAddress导致无法获取私有IP。为了解决这个问题,作者重写了Redis集群连接代码,采用HostAndPort方式配置节点,成功实现了Flink连接私有IP的Redis集群。此外,还提供了完整的依赖配置、代码重写以及测试过程。
摘要由CSDN通过智能技术生成

1 缘起

团队需要使用实时数据(小时级别)给业务系统使用,
数据流向是这样:实时数据-》Kafka-》Flink-》Redis(集群和哨兵),
可是,Flink原生并不支持Redis连接,
于是,有第三方提供连接工具,如https://bahir.apache.org/docs/flink/current/flink-streaming-redis/
但是,我在实际操作的过程中,遇到问题:无法初始化Redis集群连接,异常信息如下,
大家也不用参考官方的bahir文档 了,没有作用。
所以,我探究了一下(其实是好几下)bahir的源码,准备重新写Redis的集群连接,
这里有一个小插曲,本来打算继承FlinkJedisClusterConfig这个类重新写Redis的集群连接,
发现作者还是很聪明的,将构造器设置为私有(private),不让继承,所以,这条路断了,
另寻其他出路,依据bahir,重写Redis集群连接相关代码,提高Redis客户端版本,
帮助其他读者在使用时避坑,
分享如下(包括重写的代码)。

  • 异常信息
    at java.la

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值