
# HDFS读写文件失败，报错"Failed to place enough replicas"
#### 问题描述
当用户在HDFS上执行写操作时，出现"Failed to place enough replicas:expected..."信息。
#### 原因分析
- DataNode的数据接收器不可用。 此时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）。
- 如果网络问题，确保网络是可用的。
 
