xri*_*ing 7 intellij-idea apache-spark
我有两个集群,一个在本地虚拟机中,另一个在远程云中.两个群集都处于独立模式.
我的环境:
Scala: 2.10.4
Spark: 1.5.1
JDK: 1.8.40
OS: CentOS Linux release 7.1.1503 (Core)
Run Code Online (Sandbox Code Playgroud)
本地集群:
Spark Master:spark:// local1:7077
远程集群:
Spark Master:spark:// remote1:7077
我想完成这个:
写代码(只是简单的字计数)在IntelliJ IDEA的地方(在我laptp)和星火主URL设置为spark://local1:7077
和spark://remote1:7077
,然后运行我的IntelliJ IDEA的代码.也就是说,我不想spark-submit
用来提交工作.
但我遇到了一些问题:
当我使用本地群集时,一切顺利.在IntelliJ IDEA中运行代码或使用spark-submit可以将作业提交到集群并完成工作.
但是当我使用远程集群时,我收到了一个警告日志:
TaskSchedulerImpl:初始作业未接受任何资源; 检查群集UI以确保工作人员已注册并具有足够的资源
这是充足的资源没有足够的内存!
此日志保持打印,无需进一步操作.spark-submit
IntelliJ IDEA中的两个和运行代码都是相同的.
我想知道:
非常感谢!
更新
还有一个类似的问题在这里,但我觉得我的场景是不同的.当我在IntelliJ IDEA中运行我的代码并设置Spark Master
为本地虚拟机群集时,它可以工作.但我收到了Initial job has not accepted any resources;...
警告.
我想知道安全策略或烟花是否会导致这种情况?
以编程方式提交代码(例如通过SparkSubmit
)非常棘手。至少有各种环境设置和注意事项(由spark-submit
脚本处理)在 scala 程序中很难复制。我仍然不确定如何实现它:并且 Spark 开发人员社区中已经有许多关于该主题的长期运行的线程。
我在这里的回答是关于您帖子的一部分:特别是
TaskSchedulerImpl:初始作业尚未接受任何资源;检查集群 UI 以确保工作线程已注册并拥有足够的资源
原因通常是作业中请求的内存和/或核心数量与集群上可用的内存和/或核心数量不匹配。可能从 IJ 提交时
$SPARK_HOME/conf/spark-defaults.conf
与现有集群上的任务所需的参数不正确匹配。您可能需要更新:
spark.driver.memory 4g
spark.executor.memory 8g
spark.executor.cores 8
Run Code Online (Sandbox Code Playgroud)
您可以检查端口 8080 上的 Spark ui,以验证您请求的参数在集群上实际可用。
归档时间: |
|
查看次数: |
7084 次 |
最近记录: |