Flink 基础学习


视频:https://www.bilibili.com/video/BV1qy4y1q728?p=14&spm_id_from=333.33.header_right.history_list.click

转载笔记:https://ashiamd.github.io/docsify-notes/#/study/BigData/Flink/%E5%B0%9A%E7%A1%85%E8%B0%B7Flink%E5%85%A5%E9%97%A8%E5%88%B0%E5%AE%9E%E6%88%98-%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0?id=_11-flink-vs-spark-streaming

Flink是什么?为什么要有这个东西?它和Spark-streaming 的区别?

Flink 架构

应用场景:广告主投放广告看效果,电商推荐系统推荐热门商品和根据用户画像及时推荐。

 Standalone 模式下部署

客户端提交Job流程:分两种,一个是web ui 提交,一个是客户端提交

 web UI 提交:

启动Flink后,可以在3.1.2 命令行提交job

  1. 查看已提交的所有job

    $ bin/flink list      
    Waiting for response...
    ------------------ Running/Restarting Jobs -------------------
    30.01.2021 17:09:45 : 30d9dda946a170484d55e41358973942 : Flink Streaming Job (RUNNING)
    --------------------------------------------------------------
    No scheduled jobs.
  2. 提交job

    • -c指定入口类
    • -p指定job的并行度

    bin/flink run -c <入口类> -p <并行度> <启动参数>

    $ bin/flink run -c wc.StreamWordCount -p 3 /tmp/Flink_Tutorial-1.0-SNAPSHOT.jar --host localhost --port 7777
    Job has been submitted with JobID 33a5d1f00688a362837830f0b85fd75e
  3. 取消job

    bin/flink cancel

    $ bin/flink cancel 30d9dda946a170484d55e41358973942
    Cancelling job 30d9dda946a170484d55e41358973942.
    Cancelled job 30d9dda946a170484d55e41358973942.

注:Total Task Slots只要不小于Job中Parallelism最大值即可。

eg:这里我配置文件设置taskmanager.numberOfTaskSlots: 4,实际Job运行时总Tasks显示9,但是里面具体4个任务步骤分别需求(1,3,3,2)数量的Tasks,4>3,满足最大的Parallelism即可运行成功。