首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确设置spark.driver.log.dfsDir参数?

如何正确设置spark.driver.log.dfsDir参数?
EN

Stack Overflow用户
提问于 2021-05-19 15:16:35
回答 2查看 653关注 0票数 1

使用Spark 3.1.1

如何正确设置此spark.driver.log.dfsDir

我的spark-defaults.conf

代码语言:javascript
复制
spark.eventLog.dir                   hdfs://namenode:9000/shared/spark-logs
spark.history.fs.logDirectory    hdfs://namenode:9000/shared/spark-logs
spark.history.fs.update.interval   30s
spark.history.ui.port             8099
spark.history.fs.cleaner.enabled   true
spark.history.fs.cleaner.maxAge    30d
spark.driver.log.persistToDfs.enabled true
spark.driver.log.dfsDir            hdfs://namenode:9000/shared/driver-logs

当在我的火花驱动程序上使用火花提交时,我得到以下错误。

代码语言:javascript
复制
21/05/19 15:05:34 ERROR DriverLogger: Could not persist driver logs to dfs
java.lang.IllegalArgumentException: Pathname /home/app/odm-spark/hdfs:/namenode:9000/shared/driver-logs from /home/app/odm-spark/hdfs:/namenode:9000/shared/driver-logs is not a valid DFS filename.

为什么它要在URL前加上应用程序的位置呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-24 10:59:06

正确的设置方法是:

代码语言:javascript
复制
spark.driver.log.dfsDir           /shared/driver-logs
票数 0
EN

Stack Overflow用户

发布于 2021-11-01 10:29:16

在早期的spark.driver.log.dfsDir处理方式“实现”中可能会出现错误(但无法确认),因为正式文件说:

如果spark.driver.log.dfsDirtrue,则同步火花驱动程序日志的spark.driver.log.persistToDfs.enabled基本目录。在此基本目录中,每个应用程序将驱动程序日志记录到特定于应用程序的文件中。

还有本节

如果应用程序通过启用spark.driver.log.persistToDfs.enabled在客户端模式下持久化驱动程序日志,则应该使用适当的权限手动创建驱动程序日志所在的目录(spark.driver.log.dfsDir)。

这种“感觉”使人觉得目录是要复制到的任何驱动程序日志的根目录。

源代码中的这一行(负责复制驱动程序日志的DriverLogger )让我毫不怀疑:

代码语言:javascript
复制
val rootDir = conf.get(DRIVER_LOG_DFS_DIR).get
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67606058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档