hadoop 块丢失异常

Poo*_*oni 8 hadoop hive

我收到以下错误:

Diagnostics: org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block: BP-467931813-10.3.20.155-1514489559979:blk_1073741991_1167 file=/user/oozie/share/lib/lib_20171228193421/oozie/hadoop-auth-2.7.2-amzn-2.jar
Failing this attempt. Failing the application.
Run Code Online (Sandbox Code Playgroud)

虽然我已经为 /user/oozie/share/lib/ 目录设置了复制因子 3。该路径下的所有 jar 都可以在 3 个 datanode 上使用,但缺少几个 jar。任何人都可以建议为什么会发生这种情况以及如何预防这种情况。

小智 1

我在尝试从 hdfs 读取文件时遇到了同样的异常。此链接中“客户端在连接到 DataNodes 时使用主机名”部分下的解决方案对我有用: https ://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HdfsMultihoming.html #Clients_use_Hostnames_when_connecting_to_DataNodes

我将此 XML 块添加到“hdfs-site.xml”并重新启动 datanode 和 namenode 服务器:

<property>
    <name>dfs.client.use.datanode.hostname</name>
    <value>true</value>
    <description>Whether clients should use datanode hostnames when
      connecting to datanodes.
    </description>
</property>
Run Code Online (Sandbox Code Playgroud)