簡體   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