Как запускать параллельные Активные задания в Spark Streaming и честное планирование задач среди исполнителей

Я использую Spark Streaming на Yarn, я сталкиваюсь с проблемами ниже.

Выпуск 1:

Я использую потоковую искру (1.6.1) на пряже, я всегда вижу количество активных заданий равным 1, что означает, что одновременно выполняется только одно задание. Я использовал "--conf spark. streaming. concurrentJobs=3параметр, но не повезло, я всегда вижу только 1 активную работу.

Выпуск 2:

У меня есть 50 разделов Kafka, и потоковая передача с пламенем создает 50 разделов RDD, но я вижу, что 95% задач выделяются только одному исполнителю, а остальные исполнители в большинстве случаев всегда имеют нулевую активную задачу.

Команда My Spark Submit выглядит следующим образом:

spark-submit \
--verbose \
--master yarn-cluster \
--num-executors 3  \
--executor-memory 7g \
--executor-cores 3 \
--conf spark.driver.memory=1024m  \
--conf spark.streaming.backpressure.enabled=false \
--conf spark.streaming.kafka.maxRatePerPartition=3 \
--conf spark.streaming.concurrentJobs=3 \
--conf spark.speculation=true \
--conf spark.hadoop.fs.hdfs.impl.disable.cache=true \
--files kafka_jaas.conf#kafka_jaas.conf,user.headless.keytab#user.headless.keytab \
--driver-java-options "-Djava.security.auth.login.config=./kafka_jaas.conf -Dhttp.proxyHost=PROXY_IP -Dhttp.proxyPort=8080 -Dhttps.proxyHost=PROXY_IP -Dhttps.proxyPort=8080 -Dlog4j.configuration=file:/home/user/spark-log4j/log4j-topic_name-driver.properties" \
--conf "spark.executor.extraJavaOptions=-Djava.security.auth.login.config=./kafka_jaas.conf -Dlog4j.configuration=file:/home/user/spark-log4j/log4j-topic_name-executor.properties" \
--class com.spark.demo.StreamProcessor /home/user/demo.jar /tmp/data/out 30 KAFKA_BROKER:6667 "groupid" topic_name

0 ответов

--conf spark.streaming.kafka.maxRatePerPartition=3

Кроме того, почему у вас максимальная скорость на раздел так низко? это означает, что он будет обрабатывать только 3 записи в секунду на раздел!!!! Таким образом, если интервал микропакета составляет 30 секунд и, скажем, у вас есть 3 раздела, он обработает 30*3*3, что составляет 270 записей, которые кажутся довольно низкими.

Другие вопросы по тегам