Could not obtain block blk

    xiaoxiao2026-04-23  7

    错误:

        10/12/08 20:10:31 INFO hdfs.DFSClient: Could not obtain block blk_XXXXXXXXXXXXXXXXXXXXXX_YYYYYYYY from any node: java.io.IOException: No live nodes contain current block. Will get new block locations from namenode and retry

    原因:

        Datanode 有一个同时处理文件的上限. 这个参数叫 xcievers。如果没有这一项配置,你可能会遇到奇怪的失败。你会在Datanode的日志中看到xcievers exceeded,但是运行起来会报 missing blocks错误

    解决方法:

        在conf/hdfs-site.xml里面的添加如下配置

        <property>

            <name>dfs.datanode.max.xcievers</name>

            <value>4096</value>

            <dedication> Datanode 有一个同时处理文件的上限,至少要有4096</dedication>

        </property>

    相关资源:python入门教程(PDF版)
    最新回复(0)