gpt4 book ai didi

java - flink 集群参数 - 如何设置

转载 作者:搜寻专家 更新时间:2023-11-01 03:19:57 25 4
gpt4 key购买 nike

我正在使用 Flink 进行一些概念验证工作,并且已经到了我想在 4 节点集群上尝试各种工作(拓扑?)的地步。

机器:

  • 32 核心
  • 96g Gb 内存

拓扑从 3 到 6 个“任务”( worker ? bolt 模拟?)不等。我希望这里有人可以提供一些建议的设置。具体来说:

  • taskmanager.numberOfTaskSlots:将其设置为核心数量?
  • taskmanager.heap.mb:“这个值应该尽可能大。” 96GB?真的吗?
  • parallelism.default:尝试将其设置为 30。遇到此错误1
  • parallelization.degree.default:我尝试提高这个值,但似乎没有任何效果。对于并行度,任务始终显示“1”。
  • 人们发现有用/有趣的任何其他设置?

特别是一项任务:从 Kafka 读取,其中有问题的主题有 6 个分区。我想从这些分区中的每一个中读取、聚合并写入 Cassandra。当我在 Storm 中实现这项工作时,它有 6 个 bolts 用于读取数据和数倍的数据写入。 (IE 6 读,18 写)

如果 Flink 被我的公司采用,每台机器将同时运行许多作业。在这种情况下配置参数将如何改变?

FWIW:集群是 v1.0-SNAPSHOT。


编辑:This看起来很有用。

1 “网络缓冲区数量不足:需要 30 个,但只有 8 个可用。网络缓冲区总数当前设置为 2048。”这是否意味着 2000 个缓冲区在没有发生任何事情时被使用?

最佳答案

有多个来源可以帮助您设置正确的设置(见下文)

立即解决您的问题:

  • taskmanager.numberOfTaskSlots:将其设置为核心数?
  • taskmanager.heap.mb:“这个值应该尽可能大。” 96GB?真的吗?
    基本上是的,但要视情况而定 如果您在集群中手动部署 Flink,则假定 Flink 是唯一运行的系统。如果不将此参数设置得尽可能大,那将是一种浪费。对于与其他系统的共享设置,您可能需要考虑使用 YARN。另一方面,在独立集群模式下运行时,您可能希望为操作系统保留一些内存,如果您知道还有其他组件在运行,您可能不会将所有内存分配给 Flink。但是,由于 Flink 在内部管理内存,因此您应该避免使用未使用的内存。

  • parallelism.default:尝试将其设置为 30。遇到此错误。
    查看以下配置参数: taskmanager.network.numberOfBufferstaskmanager.network.bufferSizeInBytes(也可以在这里查看 http://www.slideshare.net/FlinkForward/fabian-hueske-juggling-with-bits-and-bytes?ref=http://flink-forward.org/?post_type=session,此处http://de.slideshare.net/robertmetzger1/apache-flink-hands-on 和这里的 https://www.youtube.com/playlist?list=PLDX4T_cnKjD3F7oRSov8hT21rXx1SyXf8 )

  • parallelization.degree.default:我尝试提高这个值,但似乎没有任何效果。任务始终显示“1”表示并行度。
    如果我没记错的话,这个参数被替换成了 parallelism.default

查看此链接了解更多背景信息:

一般常见问题解答、Flink 博客和 Flink Forward 谈话:

关于java - flink 集群参数 - 如何设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33589710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com