更新时间:2024-12-09 GMT+08:00
HDFS文件读写时报错“Failed to place enough replicas”
问题背景与现象
当用户在HDFS上执行写操作时,出现“Failed to place enough replicas:expected…”信息。
原因分析
- DataNode的数据接收器不可用。
2016-03-17 18:51:44,721 | WARN | org.apache.hadoop.hdfs.server.datanode.DataXceiverServer@5386659f | hadoopc1h2:25009:DataXceiverServer: | DataXceiverServer.java:158 java.io.IOException: Xceiver count 4097 exceeds the limit of concurrent xcievers: 4096 at org.apache.hadoop.hdfs.server.datanode.DataXceiverServer.run(DataXceiverServer.java:140) at java.lang.Thread.run(Thread.java:745)
- DataNode的磁盘空间不足。
- DataNode的心跳有延迟。
解决办法
- 如果DataNode的数据接收器不可用,通过在Manager页面,增加HDFS参数“dfs.datanode.max.transfer.threads”的值解决。
- 如果没有足够的硬盘空间或者CPU,试着增加新的数据节点或确保资源是可用的(磁盘空间或CPU)。
- 如果网络问题,确保网络是可用的。
父主题: 使用HDFS