我正在使用Spark Streaming来处理Kafka提供的消息。现在我遇到了一个问题。
在不同的机器上设置了几个执行器来处理这些任务,但是只有一个执行器,或者具体而言,只有一台机器上的执行器实际工作而其他执行器保持空闲。现在任务排队很多,我经常收到警报。
这是我的配置:
—driver-cores 1 —driver-memory 512m —executor-memory 512m
—conf spark.memory.useLegacyMode=true
—conf spark.eventLog.enabled=true
—conf spark.driver.extraJavaOptions='-Xmx512m -Xmx512m'
—conf spark.executor.extraJavaOptions='-XX:NewRatio=4 -XX:PermSize=100M'
—conf spark.dynamicAllocation.enabled=true
—conf spark.shuffle.service.enabled=true
—conf spark.dynamicAllocation.minExecutors=1
—conf spark.dynamicAllocation.maxExecutors=5
—conf spark.dynamicAllocation.initialExecutors=3
—conf spark.dynamicAllocation.executorIdleTimeout=60s
截图: