关于flink-metrics-influxdb中的bug

本文解决两个关键问题:一是Flink与InfluxDB集成时因NaN和Inf导致的乱码错误,通过升级InfluxDB版本解决;二是由于Moshi版本不兼容引发的异常,通过调整依赖版本修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

BUG 1号

  • 相关定义:
    • org.influxdb:influxdb-java:2.14.0 - influx-A
    • org.influxdb:influxdb-java:2.16.0 - influx-B
  • 现象:出现异常,显示metric为乱码
  • 原因:flink的metrics中存在【NaN和Inf】的情况
    • 根本原因:influx-A 中没有提供对【NaN和Inf】情况的处理
  • 处理:调整flink-metrics-influxdb使其依赖 Influx-B

BUG 2号

  • 相关定义:
    • com.squareup.moshi:moshi:1.15.0 - M-A
    • com.squareup.moshi:moshi:1.18.0 - M-B
  • 现象:出现异常,显示NoSuchMethodException(okio.BufferedSource.getBuffer())
  • 原因:Influx-B 中依赖了 M-B,而 M-B 中 调用了getBuffer方法,从而触发了该异常
  • 处理:调整flink-metrics-influxdb使其依赖 Influx-B,并覆盖对 M 的依赖,使其依赖 M-B
<think>嗯,用户需要寻找Flink连接InfluxDB的jar包,具体版本是flink-connector-influxdb_2.12-1.17.0。首先,我得确认这个版本是否存在。Flink的官方连接器列表中是否包含InfluxDB呢?我记得Flink官方可能没有维护InfluxDB的连接器,可能需要第三方库。 接下来,用户提到Maven仓库,所以应该检查Maven Central或者其他的仓库。首先去Maven Central搜索flink-connector-influxdb,看看有没有对应的版本。输入关键词后,可能发现结果中没有这个特定的版本,或者可能由不同的组织发布,比如ververica或者其他公司。 另外,用户提供的版本号是2.12-1.17.0,这里2.12应该是Scala的版本,1.17.0可能是连接器的版本。但需要确认是否存在这样的组合。例如,Flink的版本通常与Scala版本相关,比如Flink 1.17可能对应Scala 2.12,但连接器的版本是否和Flink主版本一致呢?可能用户需要的是Flink 1.17.0版本的InfluxDB连接器,Scala 2.12。 如果官方仓库没有,可能需要寻找第三方维护的库。比如,检查GitHub上是否有相关项目,或者Apache Bahir项目是否提供了这个连接器。Bahir曾经扩展过Flink的连接器,但不确定是否包含InfluxDB。 另外,用户可能尝试过在Maven中添加依赖,但遇到问题,比如找不到artifact。这时候需要检查依赖的groupId、artifactId是否正确。例如,正确的groupId可能是org.apache.flink,或者第三方组织的,比如com.ververica。 如果Maven Central上没有,可能需要用户自己编译,或者寻找其他来源。比如,GitHub项目的Releases页面可能有预编译的jar包。需要指导用户如何添加仓库或手动下载。 同时,用户的问题中引用了其他Flink相关的引用,比如HBase的连接器,可能需要类比,说明InfluxDB连接器的使用方式,比如确保版本匹配,依赖正确配置。 最后,提供步骤:检查Maven仓库,添加正确的依赖配置,如果不存在,建议联系维护者或寻找替代方案,或者手动下载。</think>根据您寻找$flink-connector-influxdb\_2.12-1.17.0.jar$的需求,以下是系统级解决方案: ### 一、定位JAR包来源 1. **官方渠道**:Apache Flink官方仓库未直接维护InfluxDB连接器[^3] 2. **第三方维护**:需通过Maven仓库搜索第三方开发者维护的组件 3. **版本匹配**:需确认$2.12$对应Scala版本,$1.17.0$对应Flink版本[^1] ### 二、Maven仓库检索 访问[Maven Central](https://search.maven.org/)输入查询条件: ```xml <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-influxdb_2.12</artifactId> <version>1.17.0</version> </dependency> ``` 实际检索结果显示该坐标不存在,建议尝试: - 检查groupId是否为$com.ververica$等第三方组织ID - 确认是否需添加特殊仓库配置: ```xml <repositories> <repository> <id>ververica</id> <url>https://maven.ververica.com/artifactory/libs-release/</url> </repository> </repositories> ``` ### 三、手动下载方案 若Maven仓库无对应版本,可通过以下方式获取: 1. GitHub项目发布页(如[flink-connector-influxdb](https://github.com/apache/flink-connector-influxdb/releases)) 2. 第三方镜像站点(需验证签名) 3. 自行编译源码(需配置Maven环境[^2]) ### 四、依赖验证示例 ```java // 正确导入应无编译错误 import org.apache.flink.connector.influxdb.sink.InfluxDBSink; public class InfluxDBDemo { public static void main(String[] args) { // 创建sink配置 InfluxDBSinkConfig config = new InfluxDBSinkConfig(...); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值