Apache spark Spark Driver没有分配任何工作人员
我正在学习spark并尝试执行简单的wordcount应用程序。我正在使用Apache spark Spark Driver没有分配任何工作人员,apache-spark,sparkcore,Apache Spark,Sparkcore,我正在学习spark并尝试执行简单的wordcount应用程序。我正在使用 spark version 2.4.7-bin-hadoop.2.7 scala 2.12 java 8 具有1个主节点和2个工作节点的spark群集作为独立群集运行 spark配置是 spark.master spark://localhost:7077 spark.serializer org.apache.spark.serializer
spark version 2.4.7-bin-hadoop.2.7
scala 2.12
java 8
具有1个主节点和2个工作节点的spark群集作为独立群集运行
spark配置是
spark.master spark://localhost:7077
spark.serializer org.apache.spark.serializer.KryoSerializer
spark.driver.memory 500M
主启动脚本是${SPARK\u HOME}/sbin/start master.sh
从机启动脚本是${SPARK_HOME}/sbin/start-slave.shspark://localhost:7077 -C1米50米
我想在群集模式下启动驱动程序
${SPARK_HOME}/bin/spark-submit --master spark://localhost:7077 --deploy-mode cluster --driver-memory 500M --driver-cores 8 --executor-memory 50M --executor-cores 4 <absolut path to the jar file having code>
${SPARK\u HOME}/bin/SPARK submit--masterspark://localhost:7077 --部署模式群集--驱动程序内存500M--驱动程序核心8--执行器内存50M--执行器核心4
注意:已完成的驱动程序/应用程序是我必须杀死的
在阅读spark doc和查看博客后,我使用了上述参数
但在我提交作业驱动程序后,它不会运行。它总是将worker显示为none。我阅读了多个博客并查看了文档,以了解如何在集群模式下提交作业。我调整了spark submit的不同参数,但它没有执行。有趣的是,当我以客户机模式提交时,它是有效的
你能帮我解决这个问题吗?看看你的工人和驱动程序的CPU和内存配置
您的应用程序需要500 Mb的RAM和一个CPU内核来运行驱动程序,需要50 Mb和一个内核来运行计算作业。因此,您需要550MB的RAM和两个内核。在群集模式下运行驱动程序时,这些资源由辅助程序提供。但是每个工人只允许使用一个CPU核心和50MB的RAM。因此,工人拥有的资源不足以执行您的驱动程序
您必须为Spark cluster分配工作所需的资源:
Worker Cores >= Driver Cores + Executor Cores
Worker Memory >= Driver Memory + Executor Memory
也许您必须增加驱动程序和执行程序的内存量。尝试使用1 Gb内存运行Worker,使用512 Mb的驱动程序--驱动程序内存
和--执行器内存
运行驱动程序