gpt4 book ai didi

hadoop - 如何在Spark流中运行并发事件作业以及执行者之间的公平任务调度

转载 作者:行者123 更新时间:2023-12-02 21:59:00 24 4
gpt4 key购买 nike

我在 yarn 上使用Spark Streaming,面临以下问题。

问题1:

我在 yarn 上使用 Spark 流(1.6.1),我总是看到 Activity 作业计数为1,这意味着一次仅运行1个作业。我使用了“--conf spark. streaming. concurrentJobs=3”参数,但是运气不好,我总是只能看到1个 Activity 作业。

enter image description here

问题2:

我有50个Kafka分区,星火流创建了50个RDD分区,但是我可以看到95%的任务只分配给1个执行器,其余的执行器通常始终具有零 Activity 任务。

enter image description here

我的Spark提交命令如下:

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

最佳答案

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

还有为什么每个分区的最大速率这么低?这意味着每个分区每秒仅处理3条记录!!!因此,如果微批处理间隔为30秒,并说您有3个分区,它将处理30 * 3 * 3,这是270条记录,似乎很低。

关于hadoop - 如何在Spark流中运行并发事件作业以及执行者之间的公平任务调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41034779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com