Spark kafka Streaming 拉取更多消息

Spark kafka Streaming pull more messages

我正在使用 Kafka 0.9 和 Spark 1.6。 Spark Streaming 应用程序通过直接流 API(版本 2.10-1.6.0)从 Kafka 流式传输消息。

我有 3 个工作人员,每个工作人员都有 8 GB 内存。每分钟我收到 4000 条消息到 Kafka,并且在 spark 中每个工作人员正在流式传输 600 条消息。我总是看到 Kafka 偏移到 Spark 偏移的滞后。

我有 5 个 Kafka 分区。

有没有办法让 Spark 为每次从 Kafka 拉取的消息流式传输更多消息?

我的串流频率是 2 秒

应用程序中的火花配置

1
2
3
4
"maxCoresForJob": 3,
"durationInMilis": 2000,
"auto.offset.reset":"largest",
"autocommit.enable":"true",


你能解释一下吗?您是否检查了哪一段代码需要更长的时间才能执行?从 cloudera manager-> Yarn--> Application -> 选择您的应用程序--> Application master --> Streaming,然后选择一批并单击。尝试找出需要较长时间执行的任务。你使用了多少个执行器?对于 5 个分区,最好有 5 个执行器。

您可以发布您的转换逻辑,可能有一些方法可以调整。

谢谢