你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
方案:Azure HDInsight 中群集节点的磁盘空间不足
本文介绍在与 Azure HDInsight 群集交互时出现的问题的故障排除步骤和可能的解决方法。
问题
作业可能失败并出现如下所示的错误消息:/usr/hdp/2.6.3.2-14/hadoop/libexec/hadoop-config.sh: fork: No space left on device.
或者,可能收到如下所示的 Apache Ambari 警报:local-dirs usable space is below configured utilization percentage
。
原因
Apache Yarn 应用程序缓存可能占用了所有可用磁盘空间。 Spark 应用程序可能运行效率低下。
解决方法
使用 Ambari UI 确定哪个节点的磁盘空间不足。
确定有问题的节点中哪个文件夹占用了大部分磁盘空间。 首先通过 SSH 连接到该节点,然后运行
df
列出所有装入点的磁盘用量。 通常,它是/mnt
,即 OSS 使用的一个临时磁盘。 可以进入某个文件夹,然后键入sudo du -hs
显示该文件夹的总文件大小。 如果看到类似于/mnt/resource/hadoop/yarn/local/usercache/livy/appcache/application_1537280705629_0007
的文件夹,此输出表示应用程序仍在运行。 此输出可能与 RDD 持久性或中间随机文件相关。若要缓解此问题,请终止应用程序,以释放该应用程序使用的磁盘空间。
如果此问题在工作器节点上频繁发生,则可以调整群集上的 YARN 本地缓存设置。
打开 Ambari UI 并导航到 YARN ->“配置”->“高级”。
将以下两个属性添加到自定义 yarn-site.xml 部分并进行保存:yarn.nodemanager.localizer.cache.target-size-mb=2048 yarn.nodemanager.localizer.cache.cleanup.interval-ms=300000
如果上述方法不能永久解决该问题,请优化应用程序。
后续步骤
如果你的问题未在本文中列出,或者无法解决问题,请访问以下渠道之一获取更多支持:
通过 Azure 社区支持获取 Azure 专家的解答。
联系 @AzureSupport,这是用于改进客户体验的官方 Microsoft Azure 帐户。 它可以将 Azure 社区成员连接到适当的资源,为他们提供解答、支持和专家建议。
如果需要更多帮助,可以从 Azure 门户提交支持请求。 从菜单栏中选择“支持”,或打开“帮助 + 支持”中心。 有关更多详细信息,请参阅如何创建 Azure 支持请求。 Microsoft Azure 订阅中带有对订阅管理和计费支持的访问权限,技术支持通过 Azure 支持计划之一提供。