Apache spark “如何修复”;“连接被拒绝错误”;运行群集模式spark作业时

Apache spark “如何修复”;“连接被拒绝错误”;运行群集模式spark作业时,apache-spark,cluster-computing,slurm,terasort,Apache Spark,Cluster Computing,Slurm,Terasort,我正在使用spark在使用SLURM作业管理系统的uni集群上运行terasort基准测试。当我使用--master local[8]时,它可以正常工作,但是当我将主节点设置为当前节点时,我得到了连接拒绝错误 我运行此命令在本地启动应用程序,没有问题: > spark-submit \ --class com.github.ehiggs.spark.terasort.TeraGen \ --master local[8] \ target/spark-terasor

我正在使用spark在使用SLURM作业管理系统的uni集群上运行terasort基准测试。当我使用--master local[8]时,它可以正常工作,但是当我将主节点设置为当前节点时,我得到了连接拒绝错误

我运行此命令在本地启动应用程序,没有问题:

> spark-submit \
    --class com.github.ehiggs.spark.terasort.TeraGen \
    --master local[8] \
    target/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar 1g \
    data/terasort_in
使用群集模式时,出现以下错误:

> spark-submit \
    --class com.github.ehiggs.spark.terasort.TeraGen \
    --master spark://iris-055:7077 \ #name of the cluster-node in use
    --deploy-mode cluster \
    --executor-memory 20G \
    --total-executor-cores 24 \
    target/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar 5g \
    data/terasort_in
输出:

WARN  NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "main" org.apache.spark.SparkException:  Exception thrown in awaitResult: 
    at
org.apache.spark.util.ThreadUtils$.awaitResult(ThreadUtils.scala:226) 
    at 
.
.
./*many lines of timeout logs etc.*/
.
.
.
Caused by: java.net.ConnectException: Connection refused
... 11 more

我希望命令能够顺利运行并终止,但我无法克服这个连接错误。

问题可能是没有定义--conf变量。这可以解决:

spark-submit \
    --class com.github.ehiggs.spark.terasort.TeraGen \
    --master spark://iris-055:7077 \
    --conf spark.driver.memory=4g \
    --conf spark.executor.memory=20g \
    --executor-memory 20g \
    --total-executor-cores 24 \
    target/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar 5g \
    data/terasort_in

您能否提供有关您正在使用的群集的更多信息?您确定您的主机可以找到具有20GB可用内存的执行器内存吗?@Nonontb确定我可以使用每个节点大约128GB的最大内存。如果您的id作业已启动,您可以访问“执行器”选项卡,并告知分配了多少执行器?Teragen根据并行性计算每个执行器的行数。如果未正确分配执行器,则执行器/驱动程序可能会过载。