hdfs破坏了我的单节点实验本地设置中的namenode

jrcvhitl  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(373)

在hadoop实验中,我在macbook上的localhost上设置了单节点hdfs。每次实验结束后,我都会关闭hadoop服务(./bin/stop all.sh)。
几乎每次我再次启动安装程序(start all.sh)时,都会发现hdfs已损坏,我总是需要格式化namenode并重新启动服务才能再次访问hdfs。
我意识到这一点,因为我停止获得namenode管理访问(http://localhost:50070/)启动后。
在启动期间,我的namenode日志显示“2012-11-29 15:27:43160 error org.apache.hadoop.hdfs.server.namenode.fsnamesystem:fsnamesystem初始化失败。org.apache.hadoop.hdfs.server.common.inconsistentfsstateexception:目录/private/tmp/hadoop rupadhayy/dfs/name处于不一致状态:存储目录不存在或不可访问。”
我不知道我在这里错过了什么。

mzmfm0qo

mzmfm0qo1#

我也遇到了同样的问题,google解决了这个问题,core-site.xml中的hadoop.tmp.dir默认为/tmp/hadoop username,每次重启时都会被清除。你可以把它改成其他目录。例如

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:54310</value>
  </property>

  <property>
     <name>hadoop.tmp.dir</name>
     <value>/home/hadoop/hdfs-tmp</value>
  </property>
</configuration>

这个链接对namenode没有入门也很有帮助

xj3cbfub

xj3cbfub2#

使用tmp目录意味着您必须确保在每次重新启动时清除目录并重新格式化名称节点。这是因为操作系统可能会突然从tmp目录中删除文件,使hdfs处于不稳定状态。

相关问题