Kafka Stream в Spark Stream python

У нас есть поток Kafka, который использует Avro. Мне нужно подключить его к Spark Stream. Я использую приведенный ниже код, как предлагает Лев Дж..

kvs = KafkaUtils.createDirectStream(ssc, [topic], {"metadata.broker.list": brokers}, valueDecoder=MessageSerializer.decode_message) 

У меня ошибка ниже, когда я выполняю его через искру-отправку.

2018-10-09 10:49:27 WARN YarnSchedulerBackend $ YarnSchedulerEndpoint: 66 - Драйвер запрашивает удаление исполнителя 12 по причине, что контейнер помечен как сбойный: container_1537396420651_0008_01_000013 на хосте: server_name. Статус выхода: 1. Диагностика: [2018-10-09 10: 49: 25.810] Исключение из запуска контейнера. Идентификатор контейнера: container_1537396420651_0008_01_000013 Код выхода: 1

[2018-10-09 10:49:25.810]

[2018-10-09 10: 49: 25.811] Контейнер завершился с ненулевым кодом выхода 1. Файл ошибки: prelaunch.err. Последние 4096 байт prelaunch.err:

Последние 4096 байт stderr:

Предупреждение виртуальной машины 64-разрядного сервера Java HotSpot (TM): сбой INFO: os :: commit_memory (0x00000000d5580000, 702545920, 0); error = 'Невозможно выделить память' (errno = 12)

[2018-10-09 10:49:25.822]

[2018-10-09 10: 49: 25.822] Контейнер завершился с ненулевым кодом выхода 1. Файл ошибки: prelaunch.err.

Последние 4096 байт prelaunch.err: Последние 4096 байт stderr:

Предупреждение виртуальной машины 64-разрядного сервера Java HotSpot (TM): сбой INFO: os :: commit_memory (0x00000000d5580000, 702545920, 0); error = 'Невозможно выделить память' (errno = 12)

Я использовал команду ниже.

spark-submit --master yarn --py-files ${BIG_DATA_LIBS}v3io-py.zip --packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.2.0 --jars ${BIG_DATA_LIBS}v3io-hcfs_2.11.jar,${BIG_DATA_LIBS}v3io-spark2-object-dataframe_2.11.jar,${BIG_DATA_LIBS}v3io-spark2-streaming_2.11.jar ${APP_PATH}/${SCRIPT_PATH}/kafka_to_spark_stream.py

Все переменные экспортируются правильно. Что это за ошибка?


person GihanDB    schedule 09.10.2018    source источник


Ответы (1)


Может быть, вы не выделяете достаточно памяти для драйвера / исполнителей для обработки потока?

person LevG    schedule 09.10.2018