【发布时间】:2016-02-19 20:39:44
【问题描述】:
我使用 spark 1.0.2 和独立模式运行 spark 应用程序作为查询服务(很像 spark-shell,但在 spring-boot 的 servlet 容器中)。现在,在升级到 spark 1.3.1 并尝试使用 Yarn 而不是独立集群之后,我的事情就往南了。我创建了包含所有依赖项(spark-core、spark-yarn、spring-boot)的 uber jar,并尝试部署我的应用程序。
15/07/29 11:19:26 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/07/29 11:19:27 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/07/29 11:19:28 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/07/29 11:19:29 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
我还尝试排除 spark-yarn 依赖项并在运行时提供它,但同样的异常。我们使用 MapR 分发,他们说如果不使用 spark-submit 脚本,就不可能在纱线上运行 spark 作业。我可以尝试使用该脚本启动我的 webapp,因为我的构建工件是 spring-boot jar(不是战争),但这感觉不对。我应该能够从我的容器启动服务,而不是其他方式。
编辑 1:我如何启动我的应用程序: 我从安装和配置了 hadoop 客户端的机器上启动它。
java -cp myspringbootapp.jar com.myapp.Application
com.myapp.Application 依次将 SparkContext 创建为 Spring 托管 bean。我以后用它来服务用户请求。
【问题讨论】:
-
看起来 Yarn 配置不正确。你如何开始你的工作?
标签: spring apache-spark spring-boot hadoop-yarn