我在火花作业中遇到错误,它们的错误通常类似于下面所示的错误。集群中的节点有大约256 GB的内存和大约8个内核,我还指定了执行程序内存为4GB和额外的4GB开销。对于shuffle,我已经将内存分数指定为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(没有这样的文件或目录)
我无法弄清楚它的问题是否与应用程序或基础架构有关。有人可以帮忙。
答案 0 :(得分:0)
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