繁体   English   中英

Apache Flink 仪表板未显示指标

[英]Apache Flink Dashboard not showing metrics

我有以下非常简单的 Apache Flink Pipeline,我想通过 Apache Flink 仪表板获取一些指标,如Apache Flink 文档中所述:

import org.apache.flink.api.common.functions.RichMapFunction;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.metrics.Counter;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.source.RichSourceFunction;

public class Pipeline {

    public static void main(String[] args) throws Exception {
        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

        env.addSource(new RichSourceFunction<String>() {
            private static final long serialVersionUID = 3990963645875188158L;
            private boolean notCanceled = true;

            @Override
            public void run(SourceContext<String> ctx) throws Exception {
                while (notCanceled) {
                    ctx.collect("test");
                }
            }

            @Override
            public void cancel() {
                notCanceled = false;
            }
        }).map(new RichMapFunction<String, String>() {
            private static final long serialVersionUID = 1L;
            private transient Counter counter;

            @Override
            public void open(Configuration parameters) throws Exception {
                super.open(parameters);
                this.counter = getRuntimeContext()
                        .getMetricGroup()
                        .counter("myCounter");
            }

            @Override
            public String map(String value) throws Exception {
                this.counter.inc();
                return "mappedtext";
            }
        }).print();

        env.execute();
    }

}

我确实使用Docker-Hub提供的 Docker 设置运行该管道。 一切都使用 Apache Flink 1.10.0。 管道运行良好,但是当我尝试查看我的指标时,我只会得到: 指标未显示

现在我问自己我做错了什么? 我是否缺少某些配置参数,或者这不是在仪表板中查看该指标的正确位置? 有人可以建议或至少指出我可以从哪里获得更多信息的资源吗?

我相信正在发生的事情是您已向地图运算符添加了运算符度量,但 Web ui 正在显示任务度量。 (在这个简单的、令人尴尬的并行作业的情况下,源、映射和接收器操作符已被链接到一个任务中。)

要检查您添加的此指标,您可以使用 REST API 或任何指标报告器。 我认为如果您通过以下方式禁用操作员链接,它也可能显示在 Web UI 中

    env.disableOperatorChaining();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM