YARN群集模式
我发现Kafka主题分区的数量与spark执行器的数量(1:1)相匹配。
所以,就我而言,直到现在我所知道的,4个火花执行者是我认为的解决方案。
但我担心数据吞吐量 - 可以确保2000 rec / sec?
是否有关于在spark结构流中设置正确配置的指导或建议?
尤其是spark.executor.cores
,spark.executor.instances
或者关于遗嘱执行人的事情。
将spark.executor.cores
设置为5或更低通常被认为是HDFS I / O吞吐量最佳的。你可以在这里阅读更多相关信息(或谷歌其他文章):https://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/
每个Kafka分区都匹配一个火花核心,而不是执行者(一个火花核心可以有多个Kafka分区,但每个Kafka分区只有一个核心)。
确定所需的确切数字取决于许多其他内容,例如您的应用程序流(例如,如果您没有进行任何随机播放,则总核心数应该是您的Kafka分区),内存容量和要求等。
您可以使用配置并使用spark指标来确定您的应用程序是否正在处理吞吐量。