我试图运行一个长期运行的Spark Job。经过几个小时的执行,我在下面得到例外:
{{1}}
试图通过检查来解决这个问题:
/ tmp目录中的权限问题。 spark服务器未以root用户身份运行。但/ tmp目录应该可写给所有用户。
/ tmp Dir有足够的空间。
答案 0 :(得分:3)
假设您正在使用多个节点,则需要检查每个节点是否参与火花操作(主/驱动程序+从属/节点/工作者)。
请确认每个工作人员/节点都有足够的磁盘空间(特别是检查/ tmp文件夹)和正确的权限。
答案 1 :(得分:0)
备份tmp缓存文件。清理tmp目录并启动您的shell。它会工作。同样的方法对我有用。
答案 2 :(得分:0)
编辑:以下答案最终并未解决我的问题。这是因为可以创建一些子文件夹(或某些依赖项),但并不是全部。创建此类路径的频繁必要性将使任何项目都不可行。因此,我以管理员身份运行了Spark(在我的情况下为PySpark),从而解决了该情况。因此,最终可能是权限问题。
原始答案:
我解决了本地 Windows 计算机(而不是群集)上的相同问题。由于权限没有问题,因此我创建了Spark无法创建的目录,即我以本地用户身份创建了以下文件夹,并且不需要更改该文件夹的任何权限。
C:\Users\<username>\AppData\Local\Temp\blockmgr-97439a5f-45b0-4257-a773-2b7650d17142
答案 3 :(得分:0)
确认所有权限和用户访问权限后。
在Talend studio中构建组件时遇到了相同的问题,并且通过在spark配置选项卡中的spark临时目录(临时目录)中提供正确的“ /”来解决该问题。在Windows中构建jar并在Linux群集中运行时,这是必需的。