1.准备工作
1.Flink集群环境
:如未搭建,此处以standalone模式
学习。请参考链接:我是链接
2.Flink开发的任务代码
:本文以 实时WordCount 为例。代码部分,请参考以下链接:Flink 编写实时 WordCount 实例
3.因为实时WordCount示例,需要读取socket数据,为了代码的灵活,在 Socket 读取数据部分,对代码做了如下修改
:使用 args[0] 和 args[1] 来接收传递过来的参数,达到灵活的目的。
2.WordCount部分代码(展示修改部分)
/**
* TODO 实时WorldCount计算
*
* @author liuzebiao
* @Date 2020-02-04 10:37
*/
public class StreamWordCount {
public static void main(String[] args) throws Exception {
//1.创建一个 flink steam 程序的执行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
//2.使用StreamExecutionEnvironment创建DataStream
//此处使用 args[0] 和 args[1] 来接收传递过来的参数,灵活性更强
DataStreamSource<String> lines = env.socketTextStream(args[0], Integer.parseInt(args[1]));
//Transformation(s) 对数据进行处理操作
SingleOutputStreamOperator<Tuple2<String, Integer>> wordAndOne = lines.flatMap()
//......
//其他代码省略,完整代码,请参考:【准备工作--2.Flink开发的任务代码 提供的链接】
//......
}
}
3.Flink任务打包到集群运行步骤
3.1 打包
使用 Maven 提供的 package
进行打包即可。
3.2 将打包好的 jar 包,上传到集群
如何上传任务到集群,流程请参考链接:Flink 提交任务的两种方式(本例以:使用Web页面Submit New Job方式提交
)
选择我们刚打好的 jar 包,上传到集群,如下图所示:
3.3 配置当前jar包执行参数
1.获取要执行类的全限定名(包名+类名
)。当前实例全限定名为:com.ddky.flink.helloworld.StreamWordCount
2.在某个集群节点开启端口,本例在 master(192.168.204.210)开启。
3.提交任务时的参数配置:
4.查看任务是否提交成功(切记:提交任务前需要先打开8888端口监控,否则提交不成功)
5.在 192.168.204.210(master)节点
,监听的8888端口下,输入内容
6.查看任务执行结果
我们自己编写的Flink任务打包到集群运行,介绍到此为止
如果本文对你有所帮助,那就给我点个赞呗 O(∩_∩)O
End