我们在启用了多主机模式的EMR 5.29上使用Flink 1.9.1。我们将以下配置添加到conf文件夹中的flink-conf.yaml文件中,并将jar flink-metrics-statsd-1.9.1.jar添加到flink/lib文件夹中。
metrics.scope.jm: <host>.jobmanager
metrics.scope.jm.job: <host>.jobmanager.<job_name>
metrics.scope.tm: <host>.taskmanager.<tm_id>
metrics.scope.tm.job: <host>.taskmanager.<tm_id>.<job_name>
metrics.scope.task: <host>.taskmanager.<tm_id>.<job_name>.<task_name>.<subtask_index>
metrics.scope.operator: <host>.taskmanager.<tm_id>.<job_name>.<operator_name>.<subtask_index>
metrics.reporters: stsd
metrics.reporter.stsd.factory.class: org.apache.flink.metrics.statsd.StatsDReporter
metrics.reporter.stsd.host: localhost
metrics.reporter.stsd.port: 8130
metrics.reporter.stsd.interval: 60 SECONDS当我们监听statsD端口时,我们得不到任何指标。我们还有什么遗漏的吗?有没有办法检查某个参数是否没有被传递?
正如在另一个答案中所建议的,我们还尝试给出了主机的IP地址。似乎不起作用。
发布于 2020-07-16 04:31:42
发现问题:应该使用:metrics.reporter.stsd.class: org.apache.flink.metrics.statsd.StatsDReporter而不是:metrics.reporter.stsd.factory.class: org.apache.flink.metrics.statsd.StatsDReporter
发布于 2020-07-13 19:44:16
使用Flink 1.9,您需要将报告器的jar文件复制到集群中每台机器的lib目录中。因此,将flink-metrics-statsd-1.9.1.jar从opt复制到lib。
如果这还不能解决问题,请检查日志--那里应该有线索。
此外,statsd通常使用端口8125。你确定它在监听8130吗?
https://stackoverflow.com/questions/62874872
复制相似问题