开发者社区 问答 正文

内部错误,请重新提交或联系管理员

昨天提交的时候出现这个问题,发现是我为了自己测试方便,在代码里设置了如果jar包运行时参数大于等于1个就以集群模式提交,少于1个则以本地模式提交,估计评测的时候是不带参数的,所以会本地模式提交运行,因此就会出现这个错误。希望帮到有同样问题的朋友。

展开
收起
hankruc 2016-07-02 11:42:57 3386 分享 版权
阿里云 AI 助理回答

你遇到的问题似乎是与Apache Spark作业提交模式相关。在Spark中,作业可以以本地模式(local mode)或集群模式(cluster mode)运行。根据你的描述,你在代码中设置了条件判断来自动选择运行模式,这在开发和测试阶段是常见的做法,但确实可能在没有正确设置参数的生产或评估环境中导致问题。

解决方案

  1. 明确参数传递:确保在所有环境下(包括评测环境)都正确地传递参数。如果评测系统不支持传递参数,你可以考虑默认设置为集群模式提交,或者寻找是否有配置文件可以预先设定这些参数。

  2. 修改代码逻辑:调整你的代码逻辑,使其在没有明确指定运行模式时,默认采用集群模式而非本地模式。例如,你可以移除基于参数数量的判断逻辑,直接在主方法或其他合适位置显式指定集群模式提交,如使用spark-submit --master yarn命令提交到YARN集群。

  3. 使用配置文件:利用配置文件管理不同环境下的设置。这样,你可以轻松地在不同的部署环境中切换配置,而无需修改代码。对于Spark应用,可以通过Spark的配置项(如spark.master)来指定运行模式。

  4. 文档和沟通:如果你是在参与某个平台或服务的评测,务必查看该平台的文档,了解其推荐的作业提交方式。有时,平台会提供特定的指导或要求,遵循这些规则可以避免此类问题。

  5. 使用阿里云E-MapReduce (EMR): 如果你正在使用阿里云服务,可以考虑使用E-MapReduce服务来管理你的Spark集群。EMR提供了用户友好的Web界面和API接口来提交Spark作业,减少了手动配置的复杂性,并且能够灵活地控制作业的运行模式。

记得,在进行任何更改后,都要在测试环境中验证修改是否有效,以避免在生产环境中引入新的问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: