
# 迁移HDFS文件，报错无法获取块怎么处理？
#### 问题描述
1. 用户HDFS为线下自建的，往OBS迁移文件建立好连接器后，测试源端和目的端的连通性都是没问题的。
2. 任务启动时报如下错误：
```
Error: java.io.IOException: org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block: BP-787476470-192.168.152.10-1573351961380:blk_1073742171_1347 file=/user/hive/warehouse/db_hive.db/emp/emp.txt (state=,code=0)
```
#### 原因分析
1. 使用HDFS客户端get文件可以正常获取，所以不是文件块丢失。
2. 查看HDFS服务的所有DataNode实例是否都已启动，此时DataNode状态为停止会获取不到块，以及cdm和DataNode节点的网络是否正常。 注：9866端口是HDFS文件系统DataNode的数据传输接口。
   
 
#### 解决方案
因为DataNode节点防火墙为开启状态，CDM在与Datanode建立连接时失败导致获取块失败。关闭Datanode节点的防火墙后问题解决。
