gpt4 book ai didi

Hadoop:...被复制到 0 个节点而不是 minReplication (=1)。有 1 个数据节点正在运行,并且没有节点被排除在此操作中

转载 作者:可可西里 更新时间:2023-11-01 14:07:41 28 4
gpt4 key购买 nike

在我的多线程应用程序中尝试写入 HDFS 时出现以下错误

could only be replicated to 0 nodes instead of minReplication (=1).  There are 1 datanode(s) running and no node(s) are excluded in this operation.

我在这里尝试过有关重新格式化的最高评价答案,但这对我不起作用:HDFS error: could only be replicated to 0 nodes, instead of 1

发生的事情是这样的:

  1. 我的应用程序包含 2 个线程,每个线程都配置了自己的 Spring Data PartitionTextFileWriter
  2. 线程1最先处理数据,可以成功写入HDFS
  3. 但是,一旦线程 2 开始处理数据,当它尝试刷新到文件时我会收到此错误

线程 1 和 2 不会写入同一个文件,尽管它们在我的目录树的根目录下共享一个父目录。

我的服务器上的磁盘空间没有问题。

我也在我的名称节点日志中看到了这个,但不确定它是什么意思:

2016-03-15 11:23:12,149 WARN org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy: Failed to place enough replicas, still in need of 1 to reach 1 (unavailableStorages=[], storagePolicy=BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}, newBlock=true) For more information, please enable DEBUG log level on org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy
2016-03-15 11:23:12,150 WARN org.apache.hadoop.hdfs.protocol.BlockStoragePolicy: Failed to place enough replicas: expected size is 1 but only 0 storage types can be selected (replication=1, selected=[], unavailable=[DISK], removed=[DISK], policy=BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]})
2016-03-15 11:23:12,150 WARN org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy: Failed to place enough replicas, still in need of 1 to reach 1 (unavailableStorages=[DISK], storagePolicy=BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}, newBlock=true) All required storage types are unavailable: unavailableStorages=[DISK], storagePolicy=BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}
2016-03-15 11:23:12,151 INFO org.apache.hadoop.ipc.Server: IPC Server handler 8 on 9000, call org.apache.hadoop.hdfs.protocol.ClientProtocol.addBlock from 10.104.247.78:52004 Call#61 Retry#0
java.io.IOException: File /metrics/abc/myfile could only be replicated to 0 nodes instead of [2016-03-15 13:34:16,663] INFO [Group Metadata Manager on Broker 0]: Removed 0 expired offsets in 1 milliseconds. (kafka.coordinator.GroupMetadataManager)

这个错误的原因可能是什么?

谢谢

最佳答案

此错误是由 HDFS 的 block 复制系统引起的,因为它无法在聚焦文件中创建特定 block 的任何副本。常见的原因:

  1. 只有一个 NameNode 实例在运行,它没有处于安全模式
  2. 没有启动和运行的 DataNode 实例,或者一些实例已死。 (检查服务器)
  3. Namenode 和 Datanode 实例都在运行,但它们无法相互通信,这意味着 DataNode 和 NameNode 实例之间存在连接问题。
  4. 由于一些基于 hadoop 的网络问题,正在运行的 DataNode 实例无法与服务器通信(检查包含数据节点信息的日志)
  5. DataNode实例的配置数据目录中没有指定硬盘空间,或者DataNode实例空间不足。 (检查 dfs.data.dir//删除旧文件)
  6. 在dfs.datanode.du.reserved中为DataNode实例指定的预留空间大于空闲空间,这使得DataNode实例明白没有足够的空闲空间。
  7. DataNode 实例没有足够的线程(检查数据节点日志和 dfs.datanode.handler.count 值)
  8. 确保 dfs.data.transfer.protection 不等于“authentication”并且 dfs.encrypt.data.transfer 等于 true。

另请:

  • 验证NameNode和DataNode服务状态,查看相关日志
  • 验证 core-site.xml 是否具有正确的 fs.defaultFS 值以及 hdfs-site.xml 是否具有有效值。
  • 验证 hdfs-site.xml 是否具有 dfs.namenode.http-address.. 对于在 PHD HA 配置的情况下指定的所有 NameNode 实例。
  • 验证目录权限是否正确

引用:https://wiki.apache.org/hadoop/CouldOnlyBeReplicatedTo

引用:https://support.pivotal.io/hc/en-us/articles/201846688-HDFS-reports-Configured-Capacity-0-0-B-for-datanode

另外,请检查:Writing to HDFS from Java, getting "could only be replicated to 0 nodes instead of minReplication"

关于Hadoop:...被复制到 0 个节点而不是 minReplication (=1)。有 1 个数据节点正在运行,并且没有节点被排除在此操作中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36015864/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com