A-A+

HDFS block自动进入安全模式(safe mode)原因及解决方案

2016年04月25日 Hadoop 暂无评论 阅读 1,644 views 次

实验中碰到了如下问题:

问题描述:

The number of live datanodes 3 has reached the minimum number 0.

Safe mode will be turned off automatically once the thresholds have been reached。

可能原因: 因磁盘空间不足,内存不足,系统掉电等其他原因导致dataNode datablock丢失。

一般来说,这是由于系统断电,内存不足等原因导致dataNode丢失超过设置的丢失百分比,系统自动进入安全模式。

下面我将描述一下,由于我的什么操作导致出现了上述问题。

有两个Job,Job2的输入基于Job1的输出。我要对Job2做加速比实验,第一组实验我是在12个节点的情况下运行Job1,然后再运行Job2这个作业。接下来我将Slaves改为8个节点,然后再运行Job2。

问题很明显了,因为第一组实验中Job1生成的结果存在于12个节点,而更改Slaves后,存于去掉的4个节点的块丢失,导致HDFS自动进入安全模式。

解决:

在8个节点情况下,先运行Job1,然后运行Job2,保证Job2的输入块丢失不超过“dfs.safemode.threshold.pct”中设置的值,默认为0.999。

其中:hadoop dfsadmin -safemode leave 命令可以强制离开安全模式。

hadoop-logo

给我留言

*

Copyright © If Coding 保留所有权利.   Theme  Ality   

用户登录