HADOOP伪分布式namenode起不来:InconsistentFSStateException

在配置HADOOP伪分布式环境中遇到namenode无法启动的问题,错误信息显示存储目录不存在或不可访问。分析发现,由于tmp目录下文件会被定期删除,导致namenode格式化后的目录消失。重启计算机并检查tmp目录后,发现目录已被删除。解决方案是在core-site.xml中修改hadoop.tmp.dir配置,指定一个不会被清理的目录,从而解决这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步:查看日志文件,报错信息如下:

InconsistentFSStateException: Directory /usr/local/src/hadoop-2.7.1-alone/tmp/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible

这里的目录既然是在tmp下面的,回忆一下,tmp目录下的文件是临时文件会被定期删除的,貌似bug已经露出水面。那就重启计算机试试是不是因为这,重启之前检查一下tmp目录下面确定几个format namenode之后应该有的目录都有的,重启之后,发现全部被删掉。在执行一次 start-dfs.sh,看到tmp目录下面建了一些目录,但是dfs/name目录仍然不存在,在start-dfs.sh时候建了一部分目录和文件。而dfs/name需要在hadoop namenode -format时建立。问题清楚了。

解决方案就很简单,这些目录的位置都是根据hadoop.tmp.dir的位置确定的,所以只需要在conf/core-site.xml覆盖hadoop.tmp.dir的默认值即可:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值