在/tmp中设置hadoop.tmp.dir

在/tmp中设置hadoop.tmp.dir,hadoop,Hadoop,我在Hadoop文档中看到,Hadoop.tmp.dir的默认值是/tmp/Hadoop-${user.name},但是如果这样设置,当机器重新启动时,我会丢失数据吗 我的意思是,也许我不必在真正的/tmp中设置它,但我需要在/home/myuser/tmp/hadoop-${user.name}中设置它 提前谢谢你 添加信息: 我在/tmp/hadoop hduser中设置了它,但由于电源问题,计算机被中断,今天我收到了以下消息:从java.net.unknownhostexption调用:h

我在Hadoop文档中看到,
Hadoop.tmp.dir
的默认值是
/tmp/Hadoop-${user.name}
,但是如果这样设置,当机器重新启动时,我会丢失数据吗

我的意思是,也许我不必在真正的
/tmp
中设置它,但我需要在
/home/myuser/tmp/hadoop-${user.name}
中设置它

提前谢谢你

添加信息:

我在/tmp/hadoop hduser中设置了它,但由于电源问题,计算机被中断,今天我收到了以下消息:
从java.net.unknownhostexption调用:hduser machine:hduser machine到localhost:54310连接失败异常:java.net.ConnectException:connection拒绝;有关更多详细信息,请参阅:http://wiki.apache.org/hadoop/ConnectionRefused
我运行了这个命令
hadoop namenode
,得到了以下结果:
错误namenode.namenode:启动namenode失败。

org.apache.hadoop.hdfs.server.common.unconsistentstateException:目录/tmp/hadoop hduser/dfs/name处于不一致状态:存储目录不存在或不可访问。
我认为这是由于/tmp配置…

默认情况下,hadoop配置为开箱即用。为了实现这一点,所有重要的(非临时的)dir都指向
${hadoop.tmp.dir}
,这反过来又指向
/tmp
,而
/tmp
又出现在所有Linux系统上

因此,您还需要调整其他重要路径,请参见:


它们是独立的选项,因为在现实环境中,跨不同的物理存储设备分发临时和非临时数据可能是可行的。但是,如果安装程序很小,那么从技术上讲是的,您可以将
${hadoop.tmp.dir}
指向某个持久(非/tmp)位置,忽略我上面写的内容。

如果机器重新启动,您将丢失临时数据,这对重新启动的节点没有用处。我在帖子中添加了更多信息来解释这种情况:)
dfs.namenode.name.dir
dfs.datanode.data.dir
dfs.namenode.checkpoint.dir