Amazon EMR 集群错误:文件只能复制到 0 个节点,而不是 1 - Amazon EMR

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

Amazon EMR 集群错误:文件只能复制到 0 个节点,而不是 1

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

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

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

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

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

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

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

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

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