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")
}
}