为什么 Flink SocketTextStreamWordCount 不起作用?

Why doesn't the Flink SocketTextStreamWordCount work?

我已经设置并构建了示例项目。我能够按预期 运行 WordCount 程序。但是当我 运行 SocketTextWordCount 时,我没有打印出任何结果。

但我从未在任何地方看到 counts.print() 输出,即使在终止 nc 会话之后也是如此。

编辑 - 当我改变它以将结果打印到文本文件时,没问题。所以问题似乎是 counts.print() 没有正确写入我正在 运行 中的示例的控制台的标准输出。

DataStreams 打印到 TaskManager 进程的标准输出。当启动 Flink 实例(本地或集群)时,TaskManager 的标准输出被定向到 Flink 根目录的 ./log/ 目录中的 .out 文件中。所以你应该检查输出是否写入这些文件。

此行为不同于 DataSet.print(),后者的结果在 JobManager 上收集,传送到客户端,并由客户端打印。