Hadoop HDFS会破坏我的单节点实验本地设置中的namenode

Hadoop HDFS会破坏我的单节点实验本地设置中的namenode,hadoop,hdfs,Hadoop,Hdfs,在我的Hadoop实验中,我在macbook的localhost上设置了单节点HDFS。 每次实验结束后,我都会关闭hadoop服务(./bin/stop all.sh) 几乎每次我再次启动安装程序(start all.sh)时,我都会发现我的HDFS已损坏,我总是需要格式化我的namenode并重新启动服务才能再次访问HDFS 当我停止获得namenode管理员访问权限时,我意识到了这一点(http://localhost:50070/)启动后 启动期间,我的namenode日志显示 “201

在我的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错误org.apache.hadoop.hdfs.server.namenode.FSNamesystem:FSNamesystem初始化失败。 org.apache.hadoop.hdfs.server.common.unconsistentstateException:目录/private/tmp/hadoop rupadhyay/dfs/name处于不一致状态:存储目录不存在或不可访问。“


我不确定这里缺少了什么。

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

我也遇到了同样的问题,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>

fs.default.name
hdfs://localhost:54310
hadoop.tmp.dir
/home/hadoop/hdfs tmp

此链接也很有用

非常好,谢谢。让我从/tmp更改HDFS