[英]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.