Java Flink oshi核心例外
我根据lib文件夹添加了系统监控的依赖项Java Flink oshi核心例外,java,apache-flink,oshi,Java,Apache Flink,Oshi,我根据lib文件夹添加了系统监控的依赖项 wget https://repo1.maven.org/maven2/com/github/oshi/oshi-core/3.4.0/oshi-core-3.4.0.jar wget https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/4.2.2/jna-platform-4.2.2.jar wget https://repo1.maven.org/maven2/net/java/d
wget https://repo1.maven.org/maven2/com/github/oshi/oshi-core/3.4.0/oshi-core-3.4.0.jar
wget https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/4.2.2/jna-platform-4.2.2.jar
wget https://repo1.maven.org/maven2/net/java/dev/jna/jna/4.2.2/jna-4.2.2.jar
但是给我看看这个例外:
WARN org.apache.flink.runtime.metrics.MetricRegistryImpl - Error while reporting metrics
java.lang.NoSuchMethodError: org.apache.flink.metrics.influxdb.shaded.okio.BufferedSource.getBuffer()Lorg/apache/flink/metrics/influxdb/shaded/okio/Buffer;
at org.apache.flink.metrics.influxdb.shaded.com.squareup.moshi.JsonUtf8Reader.<init>(JsonUtf8Reader.java:97)
at org.apache.flink.metrics.influxdb.shaded.com.squareup.moshi.JsonReader.of(JsonReader.java:196)
at org.apache.flink.metrics.influxdb.shaded.com.squareup.moshi.JsonAdapter.fromJson(JsonAdapter.java:40)
at org.apache.flink.metrics.influxdb.shaded.org.influxdb.InfluxDBException.buildExceptionForErrorState(InfluxDBException.java:172)
at org.apache.flink.metrics.influxdb.shaded.org.influxdb.impl.InfluxDBImpl.execute(InfluxDBImpl.java:821)
at org.apache.flink.metrics.influxdb.shaded.org.influxdb.impl.InfluxDBImpl.write(InfluxDBImpl.java:460)
at org.apache.flink.metrics.influxdb.InfluxdbReporter.report(InfluxdbReporter.java:118)
at org.apache.flink.runtime.metrics.MetricRegistryImpl$ReporterTask.run(MetricRegistryImpl.java:441)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
WARN org.apache.flink.runtime.metrics.MetricRegistryImpl-报告度量时出错
java.lang.NoSuchMethodError:org.apache.flink.metrics.influxdb.shade.okio.BufferedSource.getBuffer()Lorg/apache/flink/metrics/influxdb/shade/okio/Buffer;
位于org.apache.flink.metrics.influxdb.shade.com.squareup.moshi.JsonUtf8Reader(JsonUtf8Reader.java:97)
位于org.apache.flink.metrics.influxdb.shade.com.squareup.moshi.JsonReader.of(JsonReader.java:196)
位于org.apache.flink.metrics.influxdb.shade.com.squareup.moshi.JsonAdapter.fromJson(JsonAdapter.java:40)
位于org.apache.flink.metrics.influxdb.shade.org.influxdb.InfluxDBException.buildExceptionForErrorState(InfluxDBException.java:172)
位于org.apache.flink.metrics.influxdb.shade.org.influxdb.impl.InfluxDBImpl.execute(InfluxDBImpl.java:821)
位于org.apache.flink.metrics.influxdb.shade.org.influxdb.impl.InfluxDBImpl.write(InfluxDBImpl.java:460)
位于org.apache.flink.metrics.influxdb.InfluxdbReporter.report(InfluxdbReporter.java:118)
位于org.apache.flink.runtime.metrics.MetricRegistryImpl$ReporterTask.run(MetricRegistryImpl.java:441)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
位于java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
运行(Thread.java:748)
这是一个Flink bug,它是随一起引入的。问题是我们在不碰撞可传递依赖项的情况下碰撞了依赖项版本。我创建此问题是为了解决此问题。本期还包含有关问题原因的更多详细信息
更新
该问题已通过Flink 1.10.1和1.11.0修复