flink1.12.x per-job cluster模式(yarn-cluster)-测试SocketWindowWordCount

注意

需要启动 yarn,命令如下:

/program/bin/hadoop.sh start

说明

  1. 启动 tcp服务器

  2. 将flink的例子:SocketWindowWordCount 提交到集群

  3. SocketWindowWordCount 启动后,连接 tcp服务器

  4. tcp服务器输入单词,SocketWindowWordCount 接收到单词后,计算 wordcount

源代码

SocketWindowWordCount类源代码

启动 tcp服务器

监听 socket ,接收传入的数据,计算 wordcount

安装

linux可能没有该软件,需要安装,命令如下:

yum install nc -y

启动 tcp 服务器

nc -lk 9090

提交 jar 到 yarn 集群

新开一个 SSH 窗口,执行下面命令:

cd /program/flink-1.12.5
flink run -m yarn-cluster /program/flink-1.12.5/examples/streaming/SocketWindowWordCount.jar --hostname hadoop1 --port 9090

解释:

  • -m:指定提交到哪台主机上
  • yarn-cluster:表示提交到 yarn 集群上
  • --hostname:连接tcp的服务器
  • --port:连接tcp的端口

执行结果

如下图:

红框处:

  • http://hadoop2:43659:flink web 管理页面
  • application_1640089376019_0015:yarn id,在 yarn web 网页中查看该任务

yarn web

访问:http://hadoop2:8088/ ,如下图,可见消耗资源还是很大的

测试:输入单词

在 tcp服务器 端输入单词,如下:

aaa bbb ccc aaa ccc aaa

在 flink 控制台中没有打印,因为是集群运行

查看打印结果-flink web 方式

通过 上面 web网页:http://hadoop2:43659 查看,如下图:

可以看出,一次统计一行数据 aaa bbb ccc aaa ccc aaa

继续测试

在 tcp服务器 端输入单词,如下:

李雷 lucy 李雷 韩梅梅 李雷 lili lucy 韩梅梅 韩梅梅 李雷

查看打印结果,如下图:

查看打印结果-yarn 方式

访问:http://hadoop2:8088 ,如下:

注意:上图可知,在 hadoop2 和 hadoop3 上运行

在 yarn 查看任务

访问:http://hadoop2:8088 ,如下:

点击下图红框处,也会显示 flink web :

查看进程

在上面可知,在 hadoop2、hadoop3 上运行

hadoop2

在 hadoop2 上运行 jps,可查看下面进程:

7545 YarnJobClusterEntrypoint

hadoop3

在 hadoop3 上运行 jps,可查看下面进程:

14547 YarnTaskExecutorRunner

停止任务

注意: ctrl+c 只会将任务切换到后台,不会退出任务

点击下图的 Cancel Job :

命令停止

需要通过下面命令 kill 任务:

yarn application --kill yarn的任务id

查看 yarn 的任务id

例子

yarn application --kill application_1664713263689_0008