HDFS 故障排除
重要
Microsoft SQL Server 2019 大数据群集附加产品将停用。 对 SQL Server 2019 大数据群集的支持将于 2025 年 2 月 28 日结束。 具有软件保障的 SQL Server 2019 的所有现有用户都将在平台上获得完全支持,在此之前,该软件将继续通过 SQL Server 累积更新进行维护。 有关详细信息,请参阅公告博客文章和 Microsoft SQL Server 平台上的大数据选项。
本文包含 SQL Server 2019 大数据群集中 HDFS 错误的故障排除方案。
排查 HDFS 堆大小问题
症状
在 SQL Server 大数据群集中:[Big Data Cluster] - nmnode pods down with Failed to start namenode.java.lang.OutOfMemoryError: Java heap space and WARN util.JvmPauseMonitor: Detected pause in JVM or host machine (eg GC)
原因
HDFS 堆大小可能未正确配置。 namenode 的 JVM 堆的正确设置取决于许多因素,例如文件和块的数量,以及 HDFS 系统上的负载。 有关计算堆大小的详细信息,请参阅配置 namenode 堆大小。
解决方法
在 SQL Server 大数据群集中,HDFS namenode 进程的堆大小由大数据群集配置 hdfs-env.HDFS_NAMENODE_OPTS
控制,默认值为 2 GB,如 HDFS 配置属性中所指定。 此解决方法建议增加堆大小,这是整个大数据群集的全局配置更改。
SQL Server 2019 CU9 之后默认启用 SQL Server 大数据群集运行时配置功能。 若要继续,请将群集升级到 CU9+,最好是升级到可用的最新版本。 有关详细信息,请参阅 SQL Server 大数据群集发行说明。
若要增加 HDFS namenode 的堆大小,请遵循部署后配置指南。
下面的示例使用 azdata
将 HDFS namenode 堆增加到 4 GB。 请注意,此操作仅在 CU9 或更高版本中可用。
azdata bdc hdfs settings set --settings hdfs-env.HDFS_NAMENODE_OPTS="-Dhadoop.security.logger=INFO,RFAS -Xmx4g"
若要确认更改并监视更新状态:
# (Optional) View the pending change
azdata bdc settings show --filter-option=pending --include-details --recursive
# Apply the pending settings
azdata bdc settings apply
# Monitor the configuration update status
azdata bdc status show --all