我和flink一起做了一些概念验证工作,已经到了我想在一个4节点集群上尝试我的各种工作(拓扑?)。
机器:
32芯
96g gb内存
拓扑结构从3到6个“任务”(工人?螺栓类似物?)。我希望这里有人能提供一些建议设置。明确地:
taskmanager.numberoftaskslots:将其设置为#个内核?
taskmanager.heap.mb:“此值应尽可能大。”96gb?真正地?
parallelism.default:已尝试将其设置为30。有这个错误1。
parallelization.degree.default:我试图提高这个值,但似乎没有任何效果。对于并行性,任务总是显示“1”。
其他人们觉得有用/有趣的设置?
特别是一项任务:阅读Kafka的著作,其中讨论的主题有6个部分。我想从每个分区读取、聚合和写入cassandra。当我在storm中实现这个任务时,它有6个螺栓来读取数据,要写入的螺栓是原来的几倍(即6读18写)
如果flink被我的公司采用,每台机器将同时运行大量的工作。在这种情况下,配置参数将如何改变?
fwiw:集群是v1.0-snapshot。
编辑:这似乎很有用。
1“网络缓冲区数量不足:需要30个,但只有8个可用。网络缓冲区的总数目前设置为2048。“这是否意味着在没有发生任何事情的情况下使用了2000个缓冲区?
1条答案
按热度按时间r55awzrz1#
有多个来源可以帮助您设置正确的设置(见下文)
要立即回答您的问题:
taskmanager.numberoftaskslots:将其设置为#个内核?
对
taskmanager.heap.mb:“此值应尽可能大。”96gb?真的?
当然可以,但这取决于您是否在集群中手动部署flink,假设flink是唯一运行的系统。如果不将此参数设置得尽可能大,那将是一种浪费。对于与其他系统共享的设置,您可能需要考虑使用yarn。另一方面,在独立集群模式下运行时,您可能希望为操作系统保留一些内存,如果您知道有其他组件正在运行,则可能不会将所有内存分配给flink。但是,由于flink在内部管理内存,因此应该避免使用未使用的内存。
parallelism.default:已尝试将其设置为30。出现了这个错误。
查看以下配置参数:
taskmanager.network.numberOfBuffers
以及taskmanager.network.bufferSizeInBytes
(这里也可以看看http://www.slideshare.net/flinkforward/fabian-hueske-juggling-with-bits-and-bytes?ref=http用法:/flink forward.org/?post\u 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
有关更多背景信息,请查看此链接:https://flink.apache.org/faq.html#what-是并行操作吗
https://ci.apache.org/projects/flink/flink-docs-master/setup/config.html#common-选项
https://flink.apache.org/news/2015/05/11/juggling-with-bits-and-bytes.html
以及一般常见问题解答、flink博客和flink forward会谈:
https://flink.apache.org/faq.html
https://flink.apache.org/blog/
http://flink-forward.org/?post_type=session