该操作中有1个数据节点在运行,并且1个节点不在此列。 (伪分布式模式)

时间:2019-08-27 08:09:47

标签: java hadoop hdfs namenode datanode

我正在使用Java使用 hadoop 2.7 ,并且出现此错误。我可以创建一个文件,但不能写入该文件:

错误:

  

错误文件/test/1.txt只能复制到0个节点,而不能复制到minReplication(= 1)。该操作中有1个数据节点正在运行,并且不包括1个节点。

我已经阅读了有关此错误的信息,但我的datanode尚未满。

我正在使用1个单节点的集群,该集群在linux中工作(ubuntu 18.10)。 从我的Windows计算机(在同一网络上),我从Java访问群集

1 个答案:

答案 0 :(得分:0)

我已经解决了问题。

有两种可能性:

1)数据节点已满。请检查您的datanode是否已满--->

我使用此命令$ dfs -du -h /

Know the disk space of data nodes in hadoop?

2)或第二个选项是datanode不能正常工作。 (您的namenode可能无法正常工作)。 (如果namenode处于启动状态,而datnode处于关闭状态,则hdfs可以让您创建文件,但不能写入文件。)(如果datanode和namenode处于关闭状态,则无法创建或写入文件)。 您可以在core-site.xml中检查与datanode的连接。

旧的---------------:

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <configuration>
        <property>
            <name>fs.default.name</name>
            <value>hdfs://0.0.0.0:8020</value>
            <description>Nombre del filesystem por defecto.</description>
        </property>
    </configuration>

更新---------------:

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <configuration>
        <property>
            <name>fs.default.name</name>
            <value>hdfs://ip_where_you_are_dating:8020</value>
            <description>Nombre del filesystem por defecto.</description>
        </property>
    </configuration>

第二个选项:

I'm trying to write a array bytes in a file but i can not. (I can create this file in FileSystem, and the conection is working). Any help is grateful