YARN群集模式
我发现Kafka主题分区的数量与spark执行程序的数量(1:1)相匹配。
因此,就我而言,到目前为止,我所知道的是,有4位火花执行器是我认为的解决方案。
但是我担心数据吞吐量-是否可以确保2000 rec / sec?
是否有关于在Spark结构化流中设置适当配置的任何指导或建议?
尤其是spark.executor.cores
,spark.executor.instances
或有关执行者的东西。
答案 0 :(得分:1)
对于HDFS I / O吞吐量,通常将spark.executor.cores
设置为5或更小。您可以在此处(或Google其他文章)中了解更多信息:
https://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/
每个Kafka分区都匹配一个spark核心,而不是执行程序(一个spark核心可以具有多个Kafka分区,但是每个Kafka分区将恰好具有一个核心)。
确定所需的确切数目取决于许多其他因素,例如应用程序流程(例如,如果不进行任何改组,则内核总数应完全是您的Kafka分区),内存容量和要求等。< / p>
您可以使用配置并使用Spark指标来确定您的应用程序是否正在处理吞吐量。