
本文共 1391 字,大约阅读时间需要 4 分钟。
Flink参数配置指南
作为一名从事数据处理开发的技术人员,我经常需要在Flink环境中进行参数配置以优化性能和稳定性。Flink作为一款灵活强大的处理框架,其配置参数众多,了解这些参数对系统性能和 task 运行有着重要影响。本文将详细介绍Flink 的常用配置参数,帮助开发者快速入门并高效使用 Flink。
一、常用配置参数
jobmanger.rpc.address jm的地址:配置 Flink 集群的 RPC 超多机地址。建议根据集群环境配置此参数,默认情况下随机采用节点地址。
jobmanager.rpc.port jm的端口号:指定集群 RPC 服务的端口,默认为 10200。
jobmanager.heap.mb jm的堆内存大小:设置 JobManager 的初始内存大小,通常不推荐过大,1-2GB 已经足够满足多数场景需求。
taskmanager.heap.mb tm的堆内存大小:指定 TaskManager 的堆内存大小,数值需根据任务规模和内存资源进行调整。默认值为 256MB。
taskmanager.numberOfTaskSlots slot数量:指定 TaskManager 的 slot 数量。需要注意的是,在 Yarn 模式下,该数值不能超过 Yarn 调度器的 maximum-allocation-vcores 值。要根据环境中槽数和任务并行性(parallelism)做合理配置。
- 任务配置
parallelsm.default:设置任务默认并行度。如果 task 未明确指定 parallelism,系统将采用此值作为并行度。合理设置该值可充分发挥集群资源性能。
web.port Flink web ui的端口号:调整 Flink Web 界面服务的监听端口,默认值为 8080。
jobmanager.archive.fs.dir 将已完成的任务归档存储的目录:指定任务完成后归档存储的路径,建议根据存储方案(如 HDFS、S3 等)进行配置。
history.web.port 基:Flink 历史数据访问端口,默认值为 19888。
- 与集群资源配置保持谨慎。如果集群采用 Yarn 模式,请确保 slots 数量不超过 scheduler 的 maximum-allocation-vcores。可以使用如下公式计算 TaskManager 数量:
修改 slット数时需全面考虑任务规模、内存资源以及 Yarn 调度器的资源限制。这不会直接影响最终性能表现,反而可能带来最佳收敛。
建议提出测试计划,确保集群配置调整不会对现有工作负载产生不良影响。
Heap 内存设置:根据任务需求合理分配 heap 大小,避免堆内存不足或过多的内存浪费。
Slot 数量与并行度的平衡:高并行度和 high slots 可以提高处理速度,但过度配置可能导致资源争夺加剧。
防缓存冲击:合理设置slot数和 TaskManager 内存可以帮助避免 sudden spikes 对 ShuffleHashSlot 抽样压力过大。
二、注意事项
num_of_tm = ceil(parallelism / slot)
三、总结与优化建议
在实际操作中,需要根据具体场景进行参数配置调整。应重点关注:
发表评论
最新留言
关于作者
