Flink-1.20集群部署

1、修改配置

1.1、zoo.cfg

powershell 复制代码
# The number of milliseconds of each tick
tickTime=2000

# The number of ticks that the initial  synchronization phase can take
initLimit=10

# The number of ticks that can pass between  sending a request and getting an acknowledgement
syncLimit=5

# The directory where the snapshot is stored.
# dataDir=/tmp/zookeeper

# The port at which the clients will connect
clientPort=2181

# ZooKeeper quorum peers
server.1=localhost:2888:3888
# server.2=host:peer-port:leader-port

1.2、workers

powershell 复制代码
localhost

1.3、masters

powershell 复制代码
localhost

1.4、config.yaml

powershell 复制代码
env:
  java:
    opts:
      all: --add-exports=java.base/sun.net.util=ALL-UNNAMED --add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED -Dio.netty.tryReflectionSetAccessible=true --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED

#  # log4j 2 configuration
  log:
    level: TRACE
    max: 10
    dir: /data/flink/logs


#==============================================================================
# Common
#==============================================================================

jobmanager:
  bind-host: 0.0.0.0
  rpc:
    address: 0.0.0.0
    port: 6123
  memory:
    process:
      size: 2048m
  execution:
    failover-strategy: region
    # 归档已完成作业的路径
  archive:
    fs:
      dir: hdfs://hdfs-ha/flink/completed-jobs/

taskmanager:
  bind-host: 0.0.0.0
  host: 0.0.0.0
  # The number of task slots that each TaskManager offers. Each slot runs one parallel pipeline.
  numberOfTaskSlots: 1
  memory:
    process:
      size: 2048m

parallelism:
  # The parallelism used for programs that did not specify and other parallelism.
  default: 1

fs:
  default-scheme: hdfs://hdfs-ha

#==============================================================================
# Fault tolerance and checkpointing
#==============================================================================

# # Execution checkpointing related parameters. Please refer to CheckpointConfig and CheckpointingOptions for more details.
execution:
  checkpointing:
    interval: 3min
    externalized-checkpoint-retention: RETAIN_ON_CANCELLATION
    max-concurrent-checkpoints: 1
    min-pause: 1min
    mode: EXACTLY_ONCE
    timeout: 15min
    tolerable-failed-checkpoints: 2
    # 非对齐检查点
    unaligned: false
    incremental: true
    dir: hdfs://hdfs-ha/flink/checkpoints
    savepoint-dir: hdfs://hdfs-ha/flink/savepoints


state:
  backend:
    type: rocksdb

#==============================================================================
# Rest & web frontend
#==============================================================================

rest:
  # The address to which the REST client will connect to
  address: 0.0.0.0
  bind-address: 0.0.0.0
  # # The port to which the REST client connects to. If rest.bind-port has
  # # not been specified, then the server will bind to this port as well.
  # port: 8081
  # # Port range for the REST and web server to bind to.
  # bind-port: 8080-8090
  profiling:
    enable: true
web:
  submit:
    enable: true
  cancel:
    enable: true

#==============================================================================
# Advanced
#==============================================================================

# io:
#   tmp:
#     dirs: /tmp

# classloader:

classloader:
  resolve:
    order: child-first
  check-leaked-classloader: false

# The HistoryServer is started and stopped via bin/historyserver.sh (start|stop)

historyserver:
  web:
    address: 0.0.0.0
    port: 8082
  archive:
    fs:
      dir: hdfs://hdfs-ha/flink/completed-jobs/
    fs.refresh-interval: 10000

2、环境集成

Flink SQL、Paimon环境集成

3、测试案例

3.1、TopSpeedWindowing示例

powershell 复制代码
./bin/flink run-application \
-t yarn-application \
-Dyarn.application.name=TopSpeedWindowing-Task \
-Djob.name=TopSpeedWindowing-Job \
./examples/streaming/TopSpeedWindowing.jar

3.2、WindowJoin示例

powershell 复制代码
./bin/flink run-application -t yarn-application \
-Dyarn.application.name=Flink-WindowJoin-Demo \
./examples/streaming/WindowJoin.jar \
--windowSize 3000 \
--slideSize 3000 \
--rate 4
相关推荐
乌恩大侠31 分钟前
GH200 新增 NVMe SSD 分区、格式化与挂载完整流程
运维·服务器·前端
tangwangbi35 分钟前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash
蜀道山老天师1 小时前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
Mr.朱鹏1 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
mengge.cloud1 小时前
存储技术基础小白教程
linux·运维·服务器·wpf·存储
tang777892 小时前
反爬虫场景下代理IP池的动态扩容与失效IP自动清理方案实现
linux·服务器·网络·爬虫代理·住宅代理ip
新时代牛马3 小时前
Linux 系统调用与IPC 完整篇:从syscall 入口、VDSO 到pipe/shm/futex 选型
linux·运维·服务器
fpcc4 小时前
计算机原理—Linux是如何加载可执行文件到内存
linux
野熊佩骑4 小时前
Kubernetes实战系列文章(三) 之 K8S运维常用命令
linux·运维·docker·微服务·云原生·容器·kubernetes
码农客栈5 小时前
linux 设备树下的 platform 驱动编写
linux