Искра на Кубернетес. Как искровая природа государственности сохраняется в Кубернетесе? - PullRequest
0 голосов
/ 15 ноября 2018

Я экспериментирую с Spark2.3 на кластере K8s. Хотите знать, как работает контрольно-пропускной пункт? Где это хранится? Если основной драйвер умирает, что происходит с существующей обработкой?

Каким образом сохраняется смещение от Кафки? Я пытался искать онлайн, но не смог найти ответа на эти вопросы. Наше приложение потребляет много данных Kafka, поэтому важно иметь возможность перезапустить и получить данные с того места, где оно было остановлено.

Есть какие-нибудь ошибки при запуске Spark Streaming на K8s?

1 Ответ

0 голосов
/ 15 ноября 2018

Контроллер искр Kubernetes ничего не знает о контрольных точках, AFAIK.Это просто способ для Kubernetes составить расписание для вашего драйвера Spark и рабочих, необходимых для выполнения задания.

Сохранение смещения действительно зависит от вашего приложения и от того, где вы хотите сохранить смещение Кафки, чтобы приэто перезапускает, берет это смещение и начинает потреблять оттуда. является примером о том, как сохранить его в Zookeeper.

Вы можете, например, написать функции менеджера смещения ZK в Scala:

import com.metamx.common.scala.Logging
import org.apache.curator.framework.CuratorFramework
...
object OffsetManager extends Logging {

  def getOffsets(client: CuratorFramework,
                 ... = {

  }

  def setOffsets(client: CuratorFramework,
                 ... = {

  }
  ...

Другой способсохраняйте свои смещения Kafka в чем-то надежном, например HDFS .

...