我在Spark Standalone 2.1上运行了每日管道。它部署在AWS EC2上并在其上运行,并使用S3作为其持久层。在大多数情况下,管道顺利运行,但偶尔在reduceByKey
操作期间作业挂起在单个工作节点上。当我在工作中工作时,我注意到CPU(通过顶部看到)与100%挂钩。到目前为止,我的补救措施是重新启动工作节点,以便Spark重新分配任务,然后从那里开始工作。
我希望能够缓解这个问题。我认为我可以通过切换使用YARN作为我的集群管理器来防止CPU挂起,但我想知道是否可以通过限制分配给Spark作业的内核数量来配置Spark Standalone以防止CPU挂起?任何建议都将不胜感激。