本文介绍了与 Azure HDInsight 群集的头节点上的磁盘空间不足相关的问题的故障排除步骤和可能的解决方案。
在 HDI 4.0 Apache Hive/LLAP 群集中,不需要的日志占用了头节点上的整个磁盘空间。 这种情况可能会导致以下问题:
- 由于头节点上没有剩余空间,SSH 访问失败。
- HiveServer2 Interactive 无法重启。
未在高级 hive-log4j2 配置中配置 Hive 日志自动删除功能。 就客户的使用模式来说,60 GB 的默认大小限制占用了太多的空间。 默认情况下,保留的日志量是由等式 MB logs/day = appender.RFA.strategy.max * 10MB
定义的。
在 Ambari 门户中转到 Hive 组件摘要,然后选择“配置”选项卡。
转到“高级设置”中的
Advanced hive-log4j2
部分。- (可选)可以降低
appender.RFA.strategy.max
的值以减少一天中保留的日志总数(以兆字节为单位)。
- (可选)可以降低
确保已启用这些设置。 如果看不到任何相关设置,请追加这些设置:
# automatically delete hive log appender.RFA.strategy.action.type = Delete appender.RFA.strategy.action.basePath = ${sys:hive.log.dir} appender.RFA.strategy.action.condition.type = IfFileName appender.RFA.strategy.action.condition.regex = hive*.*log.* appender.RFA.strategy.action.condition.nested_condition.type = IfAny # Deletes logs based on total accumulated size, keeping the most recent appender.RFA.strategy.action.condition.nested_condition.fileSize.type = IfAccumulatedFileSize appender.RFA.strategy.action.condition.nested_condition.fileSize.exceeds = 60GB # Deletes logs IfLastModified date is greater than number of days #appender.RFA.strategy.action.condition.nested_condition.lastMod.type = IfLastModified #appender.RFA.strategy.action.condition.nested_condition.lastMod.age = 30D
请查看进行删除所需的三个基本选项:
总大小
- 将
appender.RFA.strategy.action.condition.nested_condition.fileSize.exceeds
更改为所选的大小限制。
- 将
日期
- 还可以取消注释和转换条件。 然后将
appender.RFA.strategy.action.condition.nested_condition.lastMod.age
更改为所选的期限。
# Deletes logs based on total accumulated size, keeping the most recent #appender.RFA.strategy.action.condition.nested_condition.fileSize.type = IfAccumulatedFileSize #appender.RFA.strategy.action.condition.nested_condition.fileSize.exceeds = 60GB # Deletes logs IfLastModified date is greater than number of days appender.RFA.strategy.action.condition.nested_condition.lastMod.type = IfLastModified appender.RFA.strategy.action.condition.nested_condition.lastMod.age = 30D
- 还可以取消注释和转换条件。 然后将
组合使用“总大小”和“日期”
- 可通过取消注释将两个选项组合在一起。 当满足其中一个条件时,log4j2 就会开始删除日志。
# Deletes logs based on total accumulated size, keeping the most recent appender.RFA.strategy.action.condition.nested_condition.fileSize.type = IfAccumulatedFileSize appender.RFA.strategy.action.condition.nested_condition.fileSize.exceeds = 60GB # Deletes logs IfLastModified date is greater than number of days appender.RFA.strategy.action.condition.nested_condition.lastMod.type = IfLastModified appender.RFA.strategy.action.condition.nested_condition.lastMod.age = 30D
- 保存配置并重启所需的组件。
如果你的问题未在本文中列出,或者无法解决问题,请访问以下渠道之一获取更多支持:
- 如果需要更多帮助,可以从 Azure 门户提交支持请求。 从菜单栏中选择“支持” ,或打开“帮助 + 支持” 中心。