请帮帮我,我有一个集群apache flink(2个作业管理器,3个任务管理器),但是我不知道应该为flink-conf.yml中的参数设置哪些值:
jobmanager.heap.size
taskmanager.heap.size文件
taskmanager.numberoftaskslots任务管理器
并行度.default
作业管理器机器具有:8cpu、32gb ram
任务管理器机器有:8cpu,32gb ram
我将计划在这个集群上运行15..20个apache flink作业。由于私有策略,我不能在这里编写java代码,因此我将尝试用文字来表示。
1) 我从apachekafka代理读取数据№1(是json消息)
2) pojo中字节的反序列化数组
3) 使用filterfunction检查pojo事件中的一些字段
4) 按id字段使用keyby运算符
5) 使用keyedprocessfunction和state(valuestate或mapstate)以及timer(我使用的是hdfs rocksdb state后端)
6) 序列化pojo到字节数组并发送到apachekafka代理№2
预计每天将有5000多万个活动。所有作业都将有一个数据源。
1条答案
按热度按时间kxe2p93d1#
为了获得高可用性,我会考虑使用一个资源管理器来管理yarn、mesos或kubernetes。简而言之,这就是他们为您所做的:
部署flink应用程序时,flink会根据应用程序配置的并行性自动识别所需的资源,并从资源管理器请求这些资源。在失败的情况下,flink通过请求新的资源来替换失败的容器。所有提交或控制应用程序的通信都是通过rest调用进行的。这简化了flink在许多环境中的集成。
换句话说,它们可以将集群中需要的资源提供给链接引擎。而且您在配置所要查找的参数时也不会那么麻烦。