Hadoop 为什么默认情况下HDFS将数据存储在/tmp中?

Hadoop 为什么默认情况下HDFS将数据存储在/tmp中?,hadoop,hdfs,Hadoop,Hdfs,在HDFS中: NameNode将块的位置存储在文件夹dfs.NameNode.name.dir DataNode将实际数据块存储在文件夹dfs.DataNode.data.dir 这两个属性共同构成了HDFS最重要的部分:数据的保存位置 默认情况下: dfs.namenode.name.dir和dfs.datanode.data.dir是文件中的子目录://${hadoop.tmp.dir}(请参阅) ${hadoop.tmp.dir}是/tmp/hadoop-${user.name}(

在HDFS中:

  • NameNode将块的位置存储在文件夹
    dfs.NameNode.name.dir
  • DataNode将实际数据块存储在文件夹
    dfs.DataNode.data.dir
这两个属性共同构成了HDFS最重要的部分:数据的保存位置

默认情况下:

  • dfs.namenode.name.dir
    dfs.datanode.data.dir
    文件中的子目录://${hadoop.tmp.dir}
    (请参阅)
  • ${hadoop.tmp.dir}
    /tmp/hadoop-${user.name}
    (请参阅)
简而言之,默认情况下,HDFS将数据存储在
/tmp

在现代Linux发行版中


为什么默认情况下HDFS将数据存储在
/tmp
中?为什么会有人希望他们的数据是临时的?

因为Hadoop对您的文件结构不做任何假设,希望直接安装,并引导用户在正确配置后覆盖这些属性

大多数Linux发行版都有/tmp,所有用户都可以公开编写它。不确定/etc、/var或/mnt是否符合该标准

显然,没有人希望数据是临时的,但默认值也不意味着可以用于生产。例如,
fs.defaultFS
默认情况下只是本地文件系统,并且只有一个文件副本