Spark Yarn /tmp 没有这样的文件或目录
Posted
技术标签:
【中文标题】Spark Yarn /tmp 没有这样的文件或目录【英文标题】:Spark Yarn /tmp No such file or directory 【发布时间】:2017-01-26 19:24:38 【问题描述】:我的 spark 作业出现错误,它们的错误通常类似于下图所示的错误。集群中的一个节点有大约 256 GB 的内存和大约 8 个内核,我也将执行程序内存指定为 4GB 和额外的 4GB 开销。对于随机播放,我已将内存分数指定为 0.5,这一切我想表明它似乎不是内存问题。但是我无法弄清楚可能是什么问题,这会在一个阶段或另一个阶段出现,我多次重新开始我的工作,这在多个方面出现。你可以假设我们有大约 200 多个节点的基础设施,并且配置不错。
作业因阶段失败而中止:阶段 2.0 中的任务 0 失败 12 次,最近一次失败:阶段 2.0 中丢失任务 0.11(TID 27,lgpbd1107.sgp.ladr.com):java.io.FileNotFoundException:/tmp /hadoop-mapr/nm-local-dir/usercache/names/appcache/application_1485048538020_113554/3577094671485456431296_lock(没有这样的文件或目录)
我无法弄清楚它的问题是否与应用程序或基础架构有关。有人可以帮忙吗。
【问题讨论】:
【参考方案1】:It is due to the tmpwatch utility, 每天在 CentOS 系统上运行以清理最近未访问的/tmp/files
。 NodeManager
服务在启动作业时不会重新创建*** hadoop.tmp.dir
(默认为 /tmp/hadoop-$user.name
)。
现在你有两个选择:
选项 -1: 转至 /etc/cron.daily/tmp-watch
并将此目录排除在日常清理之外。 /tmp/hadoop-mapr/nm-local-dir/filecache
选项-2:转到
core-site.xml 和
hadoop.tmp.dir
属性的添加/更改值 --- 默认为/tmp/hadoop-$user.name
或
yarn-site.xml 和
yarn.nodemanager.local-dirs
属性的添加/更改值 --- 默认为$hadoop.tmp.dir/nm-local-dir
【讨论】:
你能详细说明一下吗,我读了我的工作以不同的时间间隔运行了大约 10 次,并得到了类似的错误。作业在 20 分钟内开始并失败,我假设 20 分钟不够大,tmp watch 将在其中删除文件。以上是关于Spark Yarn /tmp 没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章