我正在使用Java使用 hadoop 2.7 ,并且出现此错误。我可以创建一个文件,但不能写入该文件:
错误:
错误文件/test/1.txt只能复制到0个节点,而不能复制到minReplication(= 1)。该操作中有1个数据节点正在运行,并且不包括1个节点。
我已经阅读了有关此错误的信息,但我的datanode尚未满。
我正在使用1个单节点的集群,该集群在linux中工作(ubuntu 18.10)。 从我的Windows计算机(在同一网络上),我从Java访问群集
答案 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>
第二个选项: