本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 日志文件。