IntelliJ 中的独立 Spark 应用程序
Standalone Spark application in IntelliJ
我正在尝试 运行 本地服务器上的 spark 应用程序(用 Scala 编写)进行调试。似乎 YARN 是我在 sbt 构建定义中拥有的 spark (2.2.1) 版本的默认设置,并且根据我不断收到的错误,没有 spark/YARN 服务器侦听:
Client:920 - Failed to connect to server: 0.0.0.0/0.0.0.0:8032: retries get failed due to exceeded maximum allowed retries number
根据 netstat 确实在我的本地服务器上确实没有端口 8032,处于侦听状态。
我通常如何 运行在本地完成我的 spark 应用程序,以绕过这个问题?我只需要应用程序处理少量数据以进行调试,因此希望能够在本地 运行,而不依赖于本地服务器上的特定 SPARK/YARN 安装和设置——这将是理想的调试设置。
这可能吗?
我的 sbt 定义已经引入了所有必要的 spark 和 spark.yarn 罐子。当 运行在 IntelliJ 之外的 sbt 中使用同一个项目时,问题也会重现。
如果您必须使用极小的数据测试管道,您可以使用 .master("local[*]")
在本地模式下提交 spark 应用程序。
完整代码:
val spark = SparkSession
.builder
.appName("myapp")
.master("local[*]")
.getOrCreate()
对于 spark-submit
使用 --master local[*]
作为参数之一。参考这个:https://spark.apache.org/docs/latest/submitting-applications.html
注意:不要在代码库中对 master 进行硬编码,始终尝试从命令行提供这些变量。这使得应用程序可重用 local/test/mesos/kubernetes/yarn/whatever.
您可以将此 属性 添加到调试配置中的 VM 选项,而不是在代码中进行硬编码
-Dspark.master=local[2]
我正在尝试 运行 本地服务器上的 spark 应用程序(用 Scala 编写)进行调试。似乎 YARN 是我在 sbt 构建定义中拥有的 spark (2.2.1) 版本的默认设置,并且根据我不断收到的错误,没有 spark/YARN 服务器侦听:
Client:920 - Failed to connect to server: 0.0.0.0/0.0.0.0:8032: retries get failed due to exceeded maximum allowed retries number
根据 netstat 确实在我的本地服务器上确实没有端口 8032,处于侦听状态。
我通常如何 运行在本地完成我的 spark 应用程序,以绕过这个问题?我只需要应用程序处理少量数据以进行调试,因此希望能够在本地 运行,而不依赖于本地服务器上的特定 SPARK/YARN 安装和设置——这将是理想的调试设置。
这可能吗?
我的 sbt 定义已经引入了所有必要的 spark 和 spark.yarn 罐子。当 运行在 IntelliJ 之外的 sbt 中使用同一个项目时,问题也会重现。
如果您必须使用极小的数据测试管道,您可以使用 .master("local[*]")
在本地模式下提交 spark 应用程序。
完整代码:
val spark = SparkSession
.builder
.appName("myapp")
.master("local[*]")
.getOrCreate()
对于 spark-submit
使用 --master local[*]
作为参数之一。参考这个:https://spark.apache.org/docs/latest/submitting-applications.html
注意:不要在代码库中对 master 进行硬编码,始终尝试从命令行提供这些变量。这使得应用程序可重用 local/test/mesos/kubernetes/yarn/whatever.
您可以将此 属性 添加到调试配置中的 VM 选项,而不是在代码中进行硬编码
-Dspark.master=local[2]