Я использую CreateDirectStream Kafka для создания потребителей из моего приложения потоковой передачи.
когда я загружаю один экземпляр моего потребительского приложения, он работает отлично, однако, когда я запускаю второе приложение с той же группой потребителей , один из экземпляров получает исключение в течение нескольких секунд: ...IllegalStateException: No current assignment for partition testTpc1-1
Мой потребительский код довольно прост:
val stream = KafkaUtils.CreateDirectStream[String,String](
ssc,
PreferConsistent,
Subscribe[String,String](topics,kafkaParams)
)
У меня также есть enable.auto.commit
, установленный на false
Как запустить несколько потребителей из одной и той же группы потребителей в одной теме кафки (с разделами)?
Кафка вер 0.10
Spark версия 2.2
Scala ver 2.11
ОБНОВЛЕНИЕ-РЕДАКТИРОВАНИЕ: Чтение ответа здесь: Spark Direct Streaming - использовать одно и то же сообщение у нескольких потребителей
Я вижу, что direct streaming
не не поддерживает несколько потребителей одной и той же группы. Я думаю, мне нужно найти другое решение.
Поэтому мой следующий вопрос - предлагает ли DirectStream какое-либо решение для повышения производительности, чтобы компенсировать отсутствие возможности использовать несколько потребителей группы (т. Е. Делать ту же работу)?