【发布时间】:2020-11-16 09:44:00
【问题描述】:
我有一个 Spark 应用程序,我正在尝试将其打包为 fat jar 并使用 spark-submit 部署到本地集群。我正在使用 Typesafe config 为各种部署环境创建配置文件 - local.conf、staging.conf 和 production.conf - 并尝试提交我的 jar。
我正在运行的命令如下:
/opt/spark-3.0.1-bin-hadoop2.7/bin/spark-submit \
--master spark://127.0.0.1:7077 \
--files ../files/local.conf \
--driver-java-options '-Dconfig.file=local.conf' \
target/scala-2.12/spark-starter-2.jar
我通过一个接一个地添加选项来逐步构建命令。使用--files,日志显示文件正在上传到 Spark,但是当我添加 --driver-java-options 时,提交失败,找不到文件。
Caused by: java.io.FileNotFoundException: local.conf (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
at com.typesafe.config.impl.Parseable$ParseableFile.reader(Parseable.java:629)
at com.typesafe.config.impl.Parseable.reader(Parseable.java:99)
at com.typesafe.config.impl.Parseable.rawParseValue(Parseable.java:233)
at com.typesafe.config.impl.Parseable.parseValue(Parseable.java:180)
... 35 more
代码:
import com.example.spark.settings.Settings
import com.typesafe.config.ConfigFactory
import org.apache.spark.sql.SparkSession
object App extends App {
val config = ConfigFactory.load()
val settings = Settings(config = config)
val spark = SparkSession
.builder()
.getOrCreate()
spark.stop()
}
我需要更改哪些内容才能单独提供配置文件?
【问题讨论】:
-
@Srinivas 用代码更新了问题。它并没有故意做太多,因为我正在测试配置。 :)
标签: scala apache-spark typesafe-config