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 个执行器。
您可以发布您的转换逻辑,可能有一些方法可以调整。
谢谢