我在hive表上运行spark-sql。
使用以下参数
启动spark-shell时,它会成功运行“ - 驱动程序内存8G --executor-memory 10G --executor-cores 1 --num-executors 30”
然而,当使用
启动spark-shell时,作业会挂起“ - 驱动程序内存8G --executor-memory 10G --executor-cores 1 --num-executors 40”
区别仅在于遗嘱执行人数(30比40)。
在第二种情况下,我看到每个执行程序上有1个活动但它没有运行。我没有在spark-shell上看到任何“任务已完成”消息。
作业成功运行,执行者数量低于30。
我的纱线群集有42个节点,每个节点30个核心,每个节点大约50G内存。
指向我必须看的地方?
我比较了两次运行的调试级别日志,看起来挂起的运行没有任何这样的日志行。好的运行有很多这样的线。
“org.apache.spark.storage.BlockManager logDebug - block broadcast_0_piece0的级别是StorageLevel(true,true,false,false,1)” “org.apache.spark.storage.BlockManager logDebug - block broadcast_1的级别是StorageLevel(true,true,false,true,1)”
答案 0 :(得分:0)
这是因为类路径问题,我包括一些旧版本的依赖项,当删除时不再导致问题