flink任务提交&wordcount

flink学习

第二天 flink任务提交&写Wordcount任务

flink任务提交

通过 flink web ui 进行任务提交

向flink集群 提交任务的方式有两种。
昨天已经测试用 flink run 方式的提交任务。今天测试用web页面的方式提交任务。
已经部署好了standalone模式的flink集群
web ui 端口默认为8081

flink任务提交&wordcount_第1张图片
点击右上角 add new 按钮,开始上传 flink程序的jar包
我没有flink jar包,用官方提供的案例jar 测试一下流程。
看一下 flink 的 example 目录

[root@worker19 flink-1.12.7]# ls examples/
batch  gelly  python  streaming  table

有5个文件夹,分别对应 批处理,图计算,Python,流计算,table 的一些案例。

使用的jar包 路径 :examples/streaming/SocketWindowWordCount.jar
我的工作机器是Windows
copy jar包 到电脑
访问 web界面,点 submit new job
提交jar包

点 SocketWindowWordCount.jar

可以设置 并行度,参数,保存点路径

worker19 用 nc 向8888端口 发数据

[root@worker19 flink-1.12.7]# nc -lk 8888

参数 --hostname worker19 --port 8888
并行度 2
checkpoint path不写
点击 submit
提交成功,注意 一定要先启动 nc 再提交
flink任务提交&wordcount_第2张图片

向 worker19 8888端口 发数据

[root@worker19 ~]# nc -lk 8888
hello flink hello flink 
hello flink hello flink
hello flink hello flink

hello flink hello flink

hello flink hello flink
hello flink hello flink
hello flink hello flink
hello flink hello flink

查看页面taskmanager
flink任务提交&wordcount_第3张图片
设置的并行度为2,第一个taskmanager的stdout没有统计结果,去另一个看,结果如下
flink任务提交&wordcount_第4张图片
删除任务 runjob 任务详情 里的 cancel
或者 关闭 nc 任务也会自动退出

使用flink run 脚本提交

flink run 脚本 的参数说明

Syntax: run [OPTIONS]
“run” action options:

 -c,--class                需要指定的main方法的类
 -C,--classpath                  指定第三方依赖的url。url需要指定文件的schema如(file://),url所有节点都能访问
 -d,--detached                        在后台运行
 -n,--allowNonRestoredState          是否允许跳过保存点
 -p,--parallelism        并行度
 -m, --jobmanager                指定job
 -s,--fromSavepoint    savepoint路径


[root@worker19 flink-1.12.7]# bin/flink run -m worker19:8081 -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount -p 2 examples/streaming/SocketWindowWordCount.jar  --hostname worker19 --port 8888

注意 -m 指定的是jobmanager 节点+rest端口号(默认8081)

向 worker19机器 8888端口 发数据
在web界面 taskmanager stdout 查看输出结果

写 wordcount 的flink程序

创建 flink 模板工程

使用maven命令创建

mvn archetype:generate
-DarchetypeGroupId=org.apache.flink
-DarchetypeArtifactId=flink-quickstart-java
-DarchetypeVersion=1.12.7

使用脚本创建

curl https://flink.apache.org/q/quickstart.sh | bash -s 1.12.7

我在IDEA 里使用 maven 构建flink模板
flink任务提交&wordcount_第5张图片
add archetype 后,勾选 create from archetype,选择flink模板, 新建maven项目
flink-study
flink任务提交&wordcount_第6张图片
项目里有一个批处理 ,一个流处理的 样例类

自己写一个wordcount

package org.example.day02;

import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.

你可能感兴趣的:(flink,大数据)