如何为实时数据流配置 Apache Flink 集群 (flink-conf.yml)



请帮帮我, 我有一个集群 Apache Flink(2 个作业管理器,3 个任务管理器(,但我不知道在 flink-conf.yml 中为该参数设置哪些值:

jobmanager.heap.size

taskManager.heap.size

taskmanager.numberOfTaskSlots

并行性。默认

作业管理器机器有: 8CPU, 32GB 内存<<p>br/>任务管理器机器有: 8CPU, 32GB 内存

我计划在这个集群上运行 15..20 Apache Flink 作业。由于私人政策,我不能在这里编写java代码,因此我将尝试用文字说。

  • 1(我从Apache Kafka代理No1读取数据(它是JSON消息(
  • 2(POJO 中的字节反序列化数组
  • 3(使用过滤器功能检查POJO事件中的一些字段
  • 4(按 id 字段使用键运算符
  • 5(将 KeyedProcessFunction 与 state(valueState 或 mapState( 一起使用,并且 计时器(我正在使用HDFS RocksDB状态后端(
  • 6(将 POJO 序列化为字节数组并发送到 Apache Kafka 经纪人No2

预计每天将有超过5000万个事件。所有作业都将有一个数据源。

我会考虑使用资源管理器来喜欢YARN,Mesos或Kubernetes,以获得高可用性。简而言之,这就是他们为您所做的:

部署 Flink 应用时,Flink 会自动识别 基于应用程序配置的并行度所需的资源 并从资源管理器请求它们。如果发生故障, Flink 通过请求新资源来替换失败的容器。都 提交或控制应用程序的通信通过 REST 进行 调用。这简化了 Flink 在许多环境中的集成。

换句话说,他们可以将所需集群中的资源提供给链路引擎。 并且您将在配置所需的参数时遇到更少的麻烦。

最新更新