flink监控socket 6666端口,执行普通的wordcount程序
 
问题描述:
 
正常是下图的位置输出程序中要输出的东西
 
但是提交任务到8081页面后,所有输出都不在taskmanager中显示,而是显示在启动flink时弹出的java框内
 
 
 
解决
 
windows搭建flink,在cmd启动flink的时候,会弹出两个cmd框,使用jps查看新增的进程有:
 
3328 TaskManagerRunner 8800 StandaloneSessionClusterEntrypoint
 
由此可知,确实输出到TaskManager里了,但是是输出到cmd的TaskManager里,而不是网页上TaskManager的stdout里
 
代码
 
package xx
import org
.apache
.flink
.streaming
.api
.scala
._
object streamWordCount 
{
  def main
(args: Array
[String]): Unit = 
{
    val env = StreamExecutionEnvironment
.getExecutionEnvironment
    val streamData = env
.socketTextStream
("localhost",6666
)   //监听socket的6666端口
    val resultData = streamData
.flatMap
(_
.split
(" ")).map
((_
,1
))
      .keyBy
(0
)
      .sum
(1
)
    resultData
.print
()
    env
.execute
("stream word count")
  }
}