hadoop2.8 每次重启linux 都必须重新format datanode的问题

在使用Hadoop伪分布模式时,每次重启Linux系统都需要对namenode进行重新格式化。原因在于HDFS的格式化信息存储在tmp目录,该目录会在启动时被清理。为避免这个问题,可以在用户家目录下创建hadoop/tmp文件夹,并在core-site.xml中修改namenode的目录配置。确保新建目录的权限设置正确,然后执行hadoop namenode -format进行格式化,启动HDFS,通过创建目录和列出文件等操作验证HDFS是否正常运行。

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

最近在看hadoop, 本机装的是伪分布模式。 
但每次重启linux后,总需要执行hadoop namenode -format重新格式化namenode。

原因是: 
HDFS把namenode的格式化信息存在了系统的tmp目录下,该目录每次开机会被清空,因此每次重新启动机器,都需要重新格式化HDFS。 
如果之前已经往hdfs里放入了一些文件,这显然是不可接受的。

解决方案如下: 
在你自己的家目录下创建 hadoop/tmp文件夹 
在HADOOP_INSTALL/etc/hadoop/core-site.xml 的configure重新配置namenode的目录 
即添加如下的property

<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/(当前用户名)/hadoop_tmp</value>
    <description>A base for other temporary directories.</description>
</property>
 
  • 1
  • 2
  • 3
  • 4
  • 5

如果出现下面的错误 
java.io.IOException: Cannot create directory /* * * * * */tmp/dfs/name/current 
请检查你刚才新建的hadoop/tmp,是否正确分配了用户组与文件夹权限。

配置完成后,执行,hadoop namenode -format 重新格式化namenode 
再重启linux, 
start-dfs.sh 
jps看看namenode是否启动起来。 
hadoop fs -mkdir /test 
hadoop fs -ls / 
随便执行两个命令确认下hdfs是否正常使用。

hdfs dfs -mkdir /user

hdfs dfs -mkdir /user/<username>

hdfs dfs -ls /


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值