Amazon EMR 集群错误:File could only be replicated to 0 nodes instead of 1 - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EMR 集群错误:File could only be replicated to 0 nodes instead of 1

当将文件写入 HDFS 时,会复制到多个核心节点。当您看到此错误时,这意味着 NameNode 守护程序在 HDFS 中没有任何可用的 DataNode实例可供写入数据。换句话说,没有发生数据块复制。此错误可能是由多种问题导致的:

  • HDFS 文件系统可能已经用尽了空间。这是最有可能的原因。

  • DataNode 作业运行时实例可能不可用。

  • DataNode 实例可能已被阻止,无法与主节点通信。

  • 核心实例组中的实例可能并不可用。

  • 权限可能会缺失。例如, JobTracker 守护程序可能无权创建任务跟踪器信息。

  • DataNode 实例的预留空间设置可能不足。通过检查 dfs.datanode.du.reserved 配置设置,确定情况是否如此。

要检查此问题是否由 HDFS 磁盘空间耗尽所致,请查看中的HDFSUtilization CloudWatch指标。如果此值过高,您可以将其它核心节点添加到此集群。如果您认为您的集群可能耗尽 HDFS 磁盘空间,则可以在中设置警报, CloudWatch 以便在的HDFSUtilization值超过一定水平时提醒您。有关更多信息,请参阅手动调整正在运行的 Amazon EMR 集群的大小使用监控 Amazon EMR 指标 CloudWatch

如果 HDFS 空间不足不是问题,请检查 DataNode 日志、 NameNode日志和网络连接是否存在其他可能阻止 HDFS 复制数据的问题。有关更多信息,请参阅 查看 Amazon EMR 日志文件