2017-08-07 6 views
0

私は2つのApache Flinkクラスターを用意しています。プロダクションでは1.1.3、ステージングでは1.3.2です。FlinkはGraphiteにメトリックを送信しません

メトリックをGraphiteサーバーに送信することに興味がありますので、https://ci.apache.org/projects/flink/flink-docs-release-1.3/monitoring/metrics.htmlで説明したように設定します。

私は1.1.3クラスタでは動作しますが、1.3.2では動作しません。私はFLINK libディレクトリに追加されたjarファイルは、次のとおりです。

1.1.3で:1.3.2で

(それらが異なるグラファイトサーバーに送信を除く)

私は追加の設定は、両方で同じである:

metrics.reporters: grph 
metrics.reporter.grph.class: org.apache.flink.metrics.graphite.GraphiteReporter 
metrics.reporter.grph.host: 10.x.x.x 
metrics.reporter.grph.port: 2003 
metrics.reporter.grph.prefix: flink 
metrics.reporter.grph.protocol: TCP 

ステージングクラスタで表示されるエラーメッセージ(1 .3.2)は:

2017-08-07 13:13:15.892 main ERROR org.apache.flink.runtime.metrics.MetricRegistry Could not instantiate metrics reporter grph. Metrics might not be exposed/reported. 
java.lang.NoClassDefFoundError: com/codahale/metrics/Reporter 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at org.apache.flink.runtime.metrics.MetricRegistry.<init>(MetricRegistry.java:123) 
    at org.apache.flink.runtime.taskexecutor.TaskManagerServices.fromConfiguration(TaskManagerServices.java:188) 
    at org.apache.flink.runtime.taskmanager.TaskManager$.startTaskManagerComponentsAndActor(TaskManager.scala:1921) 
    at org.apache.flink.runtime.taskmanager.TaskManager$.runTaskManager(TaskManager.scala:1819) 
    at org.apache.flink.runtime.taskmanager.TaskManager$.selectNetworkInterfaceAndRunTaskManager(TaskManager.scala:1673) 
    at org.apache.flink.runtime.taskmanager.TaskManager$$anon$2.call(TaskManager.scala:1574) 
    at org.apache.flink.runtime.taskmanager.TaskManager$$anon$2.call(TaskManager.scala:1572) 
    at org.apache.flink.runtime.security.HadoopSecurityContext$1.run(HadoopSecurityContext.java:43) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:422) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) 
    at org.apache.flink.runtime.security.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:40) 
    at org.apache.flink.runtime.taskmanager.TaskManager$.main(TaskManager.scala:1572) 
    at org.apache.flink.runtime.taskmanager.TaskManager.main(TaskManager.scala) 
Caused by: java.lang.ClassNotFoundException: com.codahale.metrics.Reporter 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 40 common frames omitted 

ご協力いただければ幸いです。

答えて

2

io.dropwizard.metrics:metrics-core 3.1.0を/ libフォルダに追加する必要があります。その理由は、1.1ではFlinkランタイム自体がmetrics-coreを使用していたからです。これはもはや1.3ではなくなりました。

また、必要なものすべてを含める必要があるflink-metrics-graphite jar-with-dependenciesを使用することもできます。

+0

私はそれについて言及していませんでしたが、私はそれを両方のクラスタ上に持っています(http://central.maven.org/maven2/io/dropwizard/metrics/metrics-graphite/3.1.0/metrics-graphite-3.1.0 .jar) – yosi1984

+0

それはメトリクス - グラファイトです。私はメトリクス - コアについて話しています。 http://central.maven.org/maven2/io/dropwizard/metrics/metrics-core/3.1.0/metrics-core-3.1.0.jar –

+0

私の悪い、それについて残念...それは、しかし、何か違いがあります。ログファイルはまだ欠落しているメソッドについて不平を言っています(java.lang.NoSuchMethodError:com.codahale.metrics.graphite.GraphiteReporter $ Buil der.build(Lcom/codahale/metrics/graphite/Graphite;)Lcom/codahale/metrics/graphit e/GraphiteReporter;) 他にも紛失している可能性がありますか? – yosi1984

関連する問題