Apache flink Flink-statsD集成

Apache flink Flink-statsD集成,apache-flink,flink-streaming,statsd,Apache Flink,Flink Streaming,Statsd,我们在启用多主模式的情况下,在EMR 5.29上使用Flink 1.9.1。我们将以下配置添加到conf文件夹中的flink-conf.yaml文件中,并将jarflink-metrics-statsd-1.9.1.jar添加到flink/lib文件夹中 metrics.scope.jm: <host>.jobmanager metrics.scope.jm.job: <host>.jobmanager.<job_name> metrics.scope.tm:

我们在启用多主模式的情况下,在
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
metrics.scope.jm:.jobmanager
metrics.scope.jm.job:。作业管理器。
metrics.scope.tm:。taskmanager。
metrics.scope.tm.job:.任务管理器。。
metrics.scope.task:。taskmanager。。。。
metrics.scope.operator:。taskmanager。。。。
记者:统计处
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秒
当我们监听statsD端口时,我们没有得到任何指标。有什么我们遗漏的吗?是否有办法检查某个参数是否未通过


正如在另一个答案中所建议的,我们也尝试给出主机的IP地址。似乎不起作用。

使用Flink 1.9,您需要将报告程序的jar文件复制到集群中每台机器的lib目录中。因此,将
flink-metrics-statsd-1.9.1.jar
opt
复制到
lib

如果这还不能解决问题,检查日志——应该有线索


此外,statsd通常使用端口8125。您确定它正在8130上监听吗?

使用Flink 1.9,您需要将报告程序的jar文件复制到集群中每台机器的lib目录中。因此,将
flink-metrics-statsd-1.9.1.jar
opt
复制到
lib

如果这还不能解决问题,检查日志——应该有线索

此外,statsd通常使用端口8125。您确定它正在收听8130吗?

发现问题: 这本应用于:
metrics.reporter.stsd.class:org.apache.flink.metrics.statsd.StatsDReporter
而不是:
metrics.reporter.stsd.factory.class:org.apache.flink.metrics.statsd.StatsDReporter

发现问题: 这本应用于:
metrics.reporter.stsd.class:org.apache.flink.metrics.statsd.StatsDReporter
而不是:
metrics.reporter.stsd.factory.class:org.apache.flink.metrics.statsd.StatsDReporter

感谢您的回复。我们在同一集群上运行另一个应用程序(spark app),该应用程序生成8125的指标。虽然最终我们将使用相同的端口,但我们希望使用单独的端口进行测试,是的,我们用来启动控制台侦听器的statsD config fie使用8130。此外,是否有我们必须查看的特定日志文件?作业管理器/任务管理器/纱线会话/cli?检查作业管理器和任务管理器日志,因为它们都有要报告的指标。感谢您的回复。一个非常愚蠢的问题。在AWS EMR中,集群的子节点或实例节点没有flink安装。只有主节点可以。这会成为一个问题吗?您需要在集群的每个节点上安装Flink。一个作为主应用程序运行(作业管理器),另一个作为工作程序运行(任务管理器)。主节点中lib文件夹的内容被加载到类路径中。我们还需要在所有节点中安装吗?因为我们可以在此设置中运行我们的应用程序。感谢回复。我们在同一集群上运行另一个应用程序(spark app),该应用程序生成8125的指标。虽然最终我们将使用相同的端口,但我们希望使用单独的端口进行测试,是的,我们用来启动控制台侦听器的statsD config fie使用8130。此外,是否有我们必须查看的特定日志文件?作业管理器/任务管理器/纱线会话/cli?检查作业管理器和任务管理器日志,因为它们都有要报告的指标。感谢您的回复。一个非常愚蠢的问题。在AWS EMR中,集群的子节点或实例节点没有flink安装。只有主节点可以。这会成为一个问题吗?您需要在集群的每个节点上安装Flink。一个作为主应用程序运行(作业管理器),另一个作为工作程序运行(任务管理器)。主节点中lib文件夹的内容被加载到类路径中。我们还需要在所有节点中安装吗?因为我们能够在此设置中运行我们的应用程序。