I had to change this configuration:

metrics.reporter.prom.class:
"org.apache.flink.metrics.prometheus.PrometheusReporter"

to this for Flink 1.16:

metrics.reporter.prom.factory.class:
"org.apache.flink.metrics.prometheus.PrometheusReporterFactory"

Someone emailed me this fix directly. It works! Thank you :)

On Wed, Nov 23, 2022 at 4:39 PM Clayton Wohl <claytonw...@gmail.com> wrote:

> When upgrading an application from Flink 1.14.6 to Flink 1.16.0, I get the
> following exception:
>
> ERROR org.apache.flink.runtime.metrics.ReporterSetup - Could not
> instantiate metrics reporter prom. Metrics might not be exposed/reported.
>
> java.lang.InstantiationException:
> org.apache.flink.metrics.prometheus.PrometheusReporter
>
> at java.lang.Class.newInstance(Unknown Source) ~[?:?]
>
> at
> org.apache.flink.runtime.metrics.ReporterSetup.loadViaReflection(ReporterSetup.java:467)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.metrics.ReporterSetup.loadReporter(ReporterSetup.java:409)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.metrics.ReporterSetup.setupReporters(ReporterSetup.java:328)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.metrics.ReporterSetup.fromConfiguration(ReporterSetup.java:209)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner.startTaskManagerRunnerServices(TaskManagerRunner.java:223)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner.start(TaskManagerRunner.java:288)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner.runTaskManager(TaskManagerRunner.java:481)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner.lambda$runTaskManagerProcessSecurely$5(TaskManagerRunner.java:525)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:28)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner.runTaskManagerProcessSecurely(TaskManagerRunner.java:525)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner.runTaskManagerProcessSecurely(TaskManagerRunner.java:505)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> at
> org.apache.flink.runtime.taskexecutor.TaskManagerRunner.main(TaskManagerRunner.java:463)
> ~[flink-runtime-1.16.0.jar:1.16.0]
>
> Caused by: java.lang.NoSuchMethodException:
> org.apache.flink.metrics.prometheus.PrometheusReporter.<init>()
>
> at java.lang.Class.getConstructor0(Unknown Source) ~[?:?]
>
> ... 13 more
>
>
>
> Has the method mentioned been removed or changed in 1.16.0?
>
>
> If it matters, I'm running this on Kubernetes with the Spotify Flink
> Operator.
>

Reply via email to