【发布时间】:2015-11-09 10:34:27
【问题描述】:
我有两个集群,一个在本地虚拟机中,另一个在远程云中。两个集群都处于独立模式。
我的环境:
Scala: 2.10.4
Spark: 1.5.1
JDK: 1.8.40
OS: CentOS Linux release 7.1.1503 (Core)
本地集群:
火花大师:spark://local1:7077
远程集群:
火花大师:spark://remote1:7077
我想完成这个:
在本地(在我的笔记本电脑上)在 IntelliJ IDEA 中编写代码(只是简单的字数),并将 Spark Master URL 设置为 spark://local1:7077 和 spark://remote1:7077,然后在 IntelliJ IDEA 中运行我的代码。也就是说,我不想使用spark-submit 提交作业。
但我遇到了一些问题:
当我使用本地集群时,一切都很顺利。在 IntelliJ IDEA 中运行代码或使用 spark-submit 可以将作业提交到集群并完成作业。
但是当我使用远程集群时,我得到了一个警告日志:
TaskSchedulerImpl:初始作业没有接受任何资源;检查您的集群 UI 以确保工作人员已注册并拥有足够的资源
这是足够的资源而不是足够的内存!
并且此日志继续打印,没有进一步的操作。 spark-submit 和 IntelliJ IDEA 中的运行代码结果相同。
我想知道:
- 是否可以将代码从 IntelliJ IDEA 提交到远程集群?
- 如果没问题,是否需要配置?
- 可能导致我的问题的原因有哪些?
- 我该如何处理这个问题?
非常感谢!
更新
有一个类似的问题here,但我认为我的场景不同。当我在 IntelliJ IDEA 中运行我的代码并将Spark Master 设置为本地虚拟机集群时,它可以工作。但我收到了Initial job has not accepted any resources;... 警告。
我想知道安全策略或烟花是否会导致这种情况?
【问题讨论】:
-
@AlbertoBonsanto 但是其他帖子(这是你的)确实不显示如何直接从 IJ 运行:它需要构建 jar 并使用
spark-submit。
标签: intellij-idea apache-spark