当执行者数量增加时,纱线上的 spark-sql 挂起 - v1.3.0
spark-sql on yarn hangs when number of executors is increased - v1.3.0
我正在 运行ning spark-sql 上一个蜂巢 table。
使用以下参数启动 spark-shell 时 运行 成功,
"--driver-memory 8G --executor-memory 10G --executor-cores 1 --num-executors 30"
但是当 spark-shell 以
启动时作业挂起
"--driver-memory 8G --executor-memory 10G --executor-cores 1 --num-executors 40"
区别仅在于执行者的数量(30 对 40)。
在第二种情况下,我看到每个执行器上都有 1 个活动任务,但没有 运行。我在 spark-shell.
上没有看到任何 "task completed" 消息
作业 运行 成功,执行者数量低于 30。
我的yarn集群有42个节点,每个节点有30个核心,每个节点大约50G内存。
有没有指向我必须查看的位置的指示?
我比较了两个 运行 的调试级别日志,似乎挂起的 运行 没有任何此类日志行。好的 运行 有一堆这样的台词。
"org.apache.spark.storage.BlockManager logDebug - Level for block broadcast_0_piece0 is StorageLevel(true, true, false, false, 1)"
"org.apache.spark.storage.BlockManager logDebug - Level for block broadcast_1 is StorageLevel(true, true, false, true, 1)"
这是因为类路径问题,我包括了一些旧版本的依赖项,删除后不再导致问题
我正在 运行ning spark-sql 上一个蜂巢 table。
使用以下参数启动 spark-shell 时 运行 成功,
"--driver-memory 8G --executor-memory 10G --executor-cores 1 --num-executors 30"
但是当 spark-shell 以
启动时作业挂起"--driver-memory 8G --executor-memory 10G --executor-cores 1 --num-executors 40"
区别仅在于执行者的数量(30 对 40)。
在第二种情况下,我看到每个执行器上都有 1 个活动任务,但没有 运行。我在 spark-shell.
上没有看到任何 "task completed" 消息作业 运行 成功,执行者数量低于 30。
我的yarn集群有42个节点,每个节点有30个核心,每个节点大约50G内存。
有没有指向我必须查看的位置的指示?
我比较了两个 运行 的调试级别日志,似乎挂起的 运行 没有任何此类日志行。好的 运行 有一堆这样的台词。
"org.apache.spark.storage.BlockManager logDebug - Level for block broadcast_0_piece0 is StorageLevel(true, true, false, false, 1)" "org.apache.spark.storage.BlockManager logDebug - Level for block broadcast_1 is StorageLevel(true, true, false, true, 1)"
这是因为类路径问题,我包括了一些旧版本的依赖项,删除后不再导致问题