Flink笔记(六):如何将我们编写的Flink任务打包到集群运行

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

发布了247 篇原创文章 · 获赞 44 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/lzb348110175/article/details/104169589