当前位置: 首页 > 知识库问答 >
问题:

我的HDF总是向许多损坏的块报告

裴俊豪
2023-03-14

有102块缺失。以下文件可能已损坏:

当我跳转到name node并读取log in(namenode文件日志)时,我收到了许多警告,如:

来自DatanodeRegistration的错误报告(10.3.24.71,DatanodeUUID=B1AA43EB-BD9C-4E1A-B919-D7C99AD0FCDF,InfoPort=50075,IPCPort=50020,StorageInfo=LV=-56;CID=CID-9F27DFEA-17F6-41EB-95D2-50424DC78FA9;NSID=197210444;C=0):

无法发送无效块BP-352432948-10.3.24.65-1433821675295:BLK_1074188011_949972

是我的硬盘出了问题还是别的什么问题?

共有1个答案

夹谷辰沛
2023-03-14

如本文所述

原因

您的HDFS文件系统中的某些文件已经损坏,可能是丢失了上一个块副本,或者只是复制不足。

注意:由teragen生成的临时文件或伪造的样本数据存在很大的风险,因为这些文件的复制因子通常默认设置为1,如果一个副本的数据阳极关闭,则该文件将无法修复地损坏(例如丢失)。

故障排除步骤

要获得导致问题的文件的全部详细信息,可以运行以下命令:

  $ hdfs fsck / -files -blocks -locations

1)这种情况可能只是暂时的,如果您有一个数据复制不足,它应该只是自动复制块到其他数据节点,以匹配复制因子

2)如果不是自己复制,请运行一个平衡器(如果您使用HBase,请不要运行HDFS平衡器!)

3)您可以手动设置特定文件的复制,该文件被复制到比当前更高的文件,从而引导集群创建更多的副本。

$ hdfs fsck / -delete
 类似资料:
  • Docx4J生成的Excel工作簿总是说损坏了,但我无法确定Excel不喜欢底层XML的什么,更不用说如何修复它了。 我的用例如下:我试图定期自动生成一个带有图表和图形的excel工作簿。只有原始数据会改变,但随着原始数据的改变,其他一切都会动态更新。 null null 在我的空白工作簿之前和之后 欢迎所有的想法。

  • 问题内容: 有些人认为这样做存在一些缺陷,即使正确使用也无法保护您的查询。 带一些化石的物品作为证明。 因此,问题是:mysql [i] _real escape_string()完全不可接受吗? 还是仍然可以使用此功能来创建自己的预备语句? 请提供校对码。 问题答案: 从MySQL的C API函数描述 : 如果需要更改连接的字符集,则应使用函数而不是执行(或)语句。的工作方式类似,但也会影响所使

  • 问题内容: 我有一堆电影正试图从CentOS服务器传输到Windows PC。但是,当我通过此脚本运行它们时,它们最终会损坏。脚本有问题吗? 谢谢 问题答案: 您正在尝试使用时上传除基于文本的文件以外的其他文件 您不应该使用,因为电影(和图像)是二进制文件。 旁注:摆脱一中

  • 问题内容: 首先,一个简单的测试代码: 该测试代码使用Java 7仅创建一个文件“ test_0_0.log”,无论我运行该程序的频率如何。这是预期的行为,因为构造函数中的append参数设置为true。 但是,如果我使用Java 8运行此示例,则每次运行都会创建一个新文件(test_0_0.log,test_0_1.log,test_0_2.log等)。我认为这是一个错误。 恕我直言,Java的

  • 问题内容: 我有所有运行的BigQuery连接器,但是我希望在Cloud Composer而不是App Engine Flexible上计划在Docker容器中有一些现有脚本。 我有以下脚本似乎遵循了我可以找到的示例: …但是当尝试运行时,它在网络用户界面中告诉我: 也许Docker未配置为在Cloud Composer运行的Kubernetes集群内工作吗?还是我只是缺少语法中的某些内容? 问题

  • SLF4J:未能加载类“org.slf4j.impl.StatibloggerBinder”。 SLF4J:默认为无操作(NOP)记录器实现 SLF4J:有关更多细节,请参见http://www.slf4j.org/codes.html#staticloggerbinder。 这里是main