Поток искры займет много времени при чтении с кафки - PullRequest
0 голосов
/ 19 октября 2018

Я строю кластер с использованием CDH5.14.2, включает в себя 5 узлов, каждый узел имеет 130G памяти и 40 ядер процессора.Я создал приложение для потокового воспроизведения, чтобы читать из нескольких тем кафки, около 10 тем кафки и отдельно собирать сообщения кафки.И, наконец, сохраните смещение кафки в зоопарке.В конце концов я обнаружил, что для обработки сообщения кафки требуется много времени.Сообщение kafka не искажено, и я обнаружил, что искра занимает много времени для чтения из kafka.

My code script:

// build input steeam from kafka topic
JavaInputDStream<ConsumerRecord<String, String>> stream1 = MyKafkaUtils.
    buildInputStream(KafkaConfig.kafkaFlowGrouppId, topic1, ssc);
JavaInputDStream<ConsumerRecord<String, String>> stream2 = MyKafkaUtils.
    buildInputStream(KafkaConfig.kafkaFlowGrouppId, topic2, ssc);
JavaInputDStream<ConsumerRecord<String, String>> stream3 = MyKafkaUtils.
    buildInputStream(KafkaConfig.kafkaFlowGrouppId, topic3, ssc);
...

// aggregate kafka message use spark sql
result1 = process(stream1);
result2 = process(stream2);
result3 = process(stream3);
...

// write result to kafka kafka
writeToKafka(result1);
writeToKafka(result2);
writeToKafka(result3);

// save offset to zookeeper
saveOffset(stream1);
saveOffset(stream2);
saveOffset(stream3);

информация о веб-интерфейсе spark: введите описание изображения здесь

...