当前位置: 首页 > 面试题库 >

写入HDFS只能复制到0个节点,而不能复制minReplication(= 1)

祁远
2023-03-14
问题内容

我有3个数据节点在运行,在运行作业时出现以下错误提示,

java.io.IOException:文件/ user / ashsshar / olhcache /
loaderMap9b663bd9只能复制到0个节点,而不是minReplication(=
1)。有3个数据节点在运行,并且此操作中不包括3个节点。在org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget(BlockManager.java:1325)

当我们的DataNode实例空间不足或DataNode不在运行时,就会发生此错误。我尝试重新启动DataNode,但仍然遇到相同的错误。

我的群集节点上的dfsadmin -reports清楚地表明有很多可用空间。

我不确定为什么会这样。


问题答案:

1,停止所有Hadoop守护程序

for x in `cd /etc/init.d ; ls hadoop*` ; do sudo service $x stop ; done

2.从中删除所有文件 /var/lib/hadoop-hdfs/cache/hdfs/dfs/name

Eg: devan@Devan-PC:~$ sudo rm -r /var/lib/hadoop-hdfs/cache/

3,格式化Namenode

sudo -u hdfs hdfs namenode -format

4.启动所有Hadoop守护程序

for x in `cd /etc/init.d ; ls hadoop*` ; do sudo service $x start ; done

停止所有Hadoop服务



 类似资料:
  • 我正在尝试在上设置集群。当我给出命令时,主节点和从节点上的守护进程开始启动。但是当我在主节点上查看数据节点的日志文件时,我得到的是下面的EROOR 错误org.apache.hadoop.security.usergroupInformation:PriviledgedActionException as:Hadoop1原因:java.io.ioException:File/home/hadoop

  • 问题内容: 我在带有分区的Hive中创建一个外部表,然后尝试从现有表中填充它,但是,出现以下异常: 根据互联网的说法,当datanode无法与namenode通信或内存不足时,会发生这些异常,但就我而言,一切都很好。我已经尝试过格式化我的namenode和datanode了。还有什么可能是问题? https://wiki.apache.org/hadoop/CouldOnlyBeReplicate

  • 节点复制是另一种追踪式收集,在回收阶段和标记-清除采用了不同的策略,简单地说,标记-清除主动释放垃圾,而节点复制是将可达集拷贝出来,然后统一回收整块内存 前面说过,据统计80%~98%的对象在建立之后很快就会销毁,由此可以预见,在正常情况下,当启动垃圾回收的时候,可达集和垃圾集合是不成比例的,堆空间中很可能只有少部分的内容可达,剩下都是垃圾,标记-清除算法的时间和对象数量相关,而节点复制由于只拷贝

  • 例如,如果Hadoop集群由2个数据阳极组成,并且HDFS复制因子设置为默认值3,那么如何复制文件的默认行为是什么? 从我读到的内容来看,HDFS似乎是基于机架感知的,但对于这种情况,有人知道它是如何确定的吗?

  • 我想将文件salesjan2009.csv(存储在本地文件系统中,~/input/salesjan2009.csv)复制到HDFS(Hadoop分布式文件系统)主目录中 我编写了这段代码hduser@ubuntu:/usr/local/hadoop$hdfs dfs-copyfromlocal'/home/hduser/desktop/input/salesjan2009.csv'/hdfs-pa

  • 我需要在Go中复制一个切片,并读取文档。有一个复制功能可供我使用。 copy内置函数将元素从源片复制到目标片。(作为一种特殊情况,它还会将字节从字符串复制到字节片。)源和目标可能重叠。Copy返回复制的元素数,它是len(src)和len(dst)中的最小值。 但当我这样做的时候: 我的和以前一样是空的(我甚至尝试使用): 你可以去游乐场看看。那么为什么我不能复制一个切片呢?