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 个 worker,每个 8 GB 内存。每分钟我都会收到 4000 条消息给 Kafka,而在 spark 中每个工作人员都在流式传输 600 条消息。我总是看到 Kafka 偏移量与 Spark 偏移量之间存在滞后。

我有 5 个 Kafka 分区。

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

我的直播频率是2秒

应用中的 spark 配置

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

你能再解释一下吗?您是否检查过哪段代码执行时间更长?从cloudera manager-> Yarn--> Application -> selection your application --> Application master --> Streaming,然后select一批点击。尝试找出哪些任务执行时间较长。您使用了多少个执行器?对于 5 个分区,最好有 5 个执行程序。

你可以post你的转换逻辑,可能有一些方法可以调整。

谢谢