flink1.12.x per-job cluster模式(yarn-cluster)-测试SocketWindowWordCount 作者:马育民 • 2021-12-22 14:38 • 阅读:10400 # 注意 需要启动 yarn,命令如下: ``` /program/bin/hadoop.sh start ``` # 说明 [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_15-12-24.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_15-12-24.png) 1. 启动 tcp服务器 2. 将flink的例子:`SocketWindowWordCount` 提交到集群 3. `SocketWindowWordCount` 启动后,连接 tcp服务器 4. tcp服务器输入单词,`SocketWindowWordCount` 接收到单词后,计算 `wordcount` ### 源代码 [SocketWindowWordCount类源代码](https://www.malaoshi.top/show_1IX2SAb7RsHl.html "SocketWindowWordCount类源代码") # 启动 tcp服务器 监听 socket ,接收传入的数据,计算 wordcount ### 安装 linux可能没有该软件,需要安装,命令如下: ``` yum install nc -y ``` ### 启动 tcp 服务器 ``` nc -lk 9090 ``` # 提交 jar 到 yarn 集群 ``` 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的端口 ### 执行结果 如下图: [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_09-30-18.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_09-30-18.png) 红框处: - `http://hadoop2:43659`:flink web 管理页面 - `application_1640089376019_0015`:yarn id,在 yarn web 网页中查看该任务 ### flink web ui [![](/upload/0/0/1IX49k4CpVH8.png)](/upload/0/0/1IX49k4CpVH8.png) [![](/upload/0/0/1IX49k4V3ukB.png)](/upload/0/0/1IX49k4V3ukB.png) [![](/upload/0/0/1IX49k6p6xNQ.png)](/upload/0/0/1IX49k6p6xNQ.png) ### yarn web 访问:http://hadoop2:8088/ ,如下图,可见消耗资源还是很大的 [![](/upload/0/0/1IX49k4fDyRE.png)](/upload/0/0/1IX49k4fDyRE.png) # 测试:输入单词 在 **tcp服务器** 端输入单词,如下: ``` aaa bbb ccc aaa ddd ``` 在 flink 控制台中没有打印,因为是集群运行 # 查看打印结果-flink web 方式 通过 上面 web网页:http://hadoop2:43659 查看,如下图: [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_09-47-26.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_09-47-26.png) [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_09-47-57.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_09-47-57.png) # 查看打印结果-yarn 方式 访问:http://hadoop2:8088 ,如下: [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_14-34-41.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_14-34-41.png) [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_14-35-17.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_14-35-17.png) [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_14-35-48.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_14-35-48.png) **注意:**上图可知,在 `hadoop2` 和 `hadoop3` 上运行 [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_14-36-02.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_14-36-02.png) [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_14-36-09.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_14-36-09.png) # 在 yarn 查看任务 访问:http://hadoop2:8088 ,如下: [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_10-04-17.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_10-04-17.png) 点击下图红框处,也会显示 flink web : [![](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_10-04-42.png)](https://www.malaoshi.top/upload/pic/flink/Snipaste_2021-12-22_10-04-42.png) # 查看进程 在上面可知,在 `hadoop2`、`hadoop3` 上运行 ### hadoop2 在 `hadoop2` 上运行 `jps`,可查看下面进程: ``` 7545 YarnJobClusterEntrypoint ``` ### hadoop3 在 `hadoop3` 上运行 `jps`,可查看下面进程: ``` 14547 YarnTaskExecutorRunner ``` # 停止任务 **注意:** `ctrl+c` 只会将任务切换到后台,**不会退出任务** ### flink web 停止 [![](/upload/0/0/1IX49k9dzZqX.png)](/upload/0/0/1IX49k9dzZqX.png) 点击下图的 `Cancel Job` : [![](/upload/0/0/1IX49k9u2LQc.png)](/upload/0/0/1IX49k9u2LQc.png) ### 命令停止 需要通过下面命令 kill 任务: ``` yarn application --kill yarn的任务id ``` ### 查看 yarn 的任务id [![](/upload/0/0/1IX49kC6lwWg.png)](/upload/0/0/1IX49kC6lwWg.png) ### 例子 ``` yarn application --kill application_1664713263689_0008 ``` 原文出处:http://malaoshi.top/show_1IX2SAcIevhv.html